OPENCV3入门----回忆----初探core组件-第四章

第二部分---------初探core组件(第四章部分)

OPENCV数据结构与基本绘图

Mat类:

Mat类的构造方法:(本书介绍了7种方法,下面介绍几种常用的)

第一种:

Mat D(2,3,CV_8UC3,Scalar(0,0,255));代表参数 行 列 图像的参数  颜色)

第二种:(创建自定义维数的数组)

int sz[3]={2,2,2};

Mat D(3,size,CV_8UC,Scalar::all(0)); 第一个参数代表三维,第二个参数代表每个维度的大小,后面两个参数的定义与第一个放大一致。然而我照着作者的源码进行操作,VS给我报错。网上也只有跟书上一样的介绍。

第三种:利用create()函数

M.create(4,4,CV_8UC2);值得注意的是这个不能为矩阵设置初值,只能为矩阵重新开辟内存

第四种Matlab式的初始化方法

Mat E =Mat::eye(4,4,CV_8UC2);

Mat F =Mat::zeros(4,4,CV_8UC2);

Mat G=Mat::ones(4,4,CV_8UC2);

第五种:利用imread,clone,copyTo等等函数初始化

Mat m =imread("1.jpg",1);

例子:随机创建Mat矩阵

Mat m=Mat(10,3,CV_8UC3);

randu(m,Scalar::all(0),Scalar(255));  输出的矩阵 最低值 最高值

格式化输出方法: 

cout <<L<<endl 默认的输出形式

 cout << format(L, Formatter::FMT_PYTHON) << endl;PYTHON 的输出方式,比较明了

常用的类

Point类 

Scalar类: 颜色 注意是BGR而不是RGB

Szie 类 Size(int width ,int height);

颜色空间转换

 cvtColor(输入图像,输出图像,颜色空间转换符,目标图像的通道数(如果取0代表着与原图像一致))本人亲自测试,如果原来的输出图像并非符合转换要求的图像,比如说原来输出的图像时单通道,而现在要求是三通道,最后会变为三通道。但是转换的时候必须要求输入图像的通道与转换符要求的一致,比如说输入图像时单通道,你就不能要求进行灰度图像转换。

基本图像的绘制

基本图像的绘制就是一些简单的函数的调用,DrawLine()等等,大家需要用到的时候可以直接照着提示写。

猜你喜欢

转载自www.cnblogs.com/wxb1314520/p/12313511.html