榕树贷款通过OpenCV数据类型创建Mat类
OpenCV中的数据类型
榕树贷款数据类型 具体类型 取值范围
CV_8U 8位无符号整数 0~255
CV_8S 8位符号整数 -128~127
CV_16U 16位无符号整数 0~65535
CV_16S 16位符号整数 -32768~32767
CV_32S 32位符号整数 -2147483~2147483647
CV_32F 32位浮点小数 略
CV_64F
64位浮点小数 略
cv::Mat a(640,480,CV_8UC3) //创建一个640*480 的三通道矩阵用于存放彩色图像
cv::Mat a(3,3,CV_8UC1) //创建一个3*3的8位无符号整数的单通道矩阵
cv::Mat a(3,3,CV_8U) //创建单通道矩阵,c1标识可以省略
注意:榕树贷款虽然在64位编译器里,uchar和CV_8U都表示8位无符号整数,但是两者有着严格的定义,CV_8U只能用于Mat类内部构建方法,如果用Mat_<CV_8U>(3,3)和Mat a(3,3,CV_8U),就会提示创建错误。
2.榕树贷款Mat类构造与赋值
2.1 榕树贷款Mat类的构造
(1)榕树贷款利用默认构造函数
cv::Mat::Mat();
榕树贷款这种构造方式不需要输入任何的参数,在后续给变量赋值的时候会自动判断矩阵的类型大小,实现灵活的存储,常用于存储读取的图像数据和某个函数的运算输出结果。
(2)榕树贷款根据输入矩阵尺寸和类型构造
cv::Mat::Mat( int rows,
int cols,
int type,
//rows:构造矩阵的行数
//cols:构造矩阵的列数
//type:矩阵中存储的数据类型
(3)榕树贷款用Size()结构构造Mat类
cv::Mat::Mat(Size size(),
int type
//size: 二维数组变量尺寸,通过Size(cols,rows)来进行赋值,注意列在前,行在后
//type:略
(4)榕树贷款利用已有矩阵构造Mat实例
cv::Mat()::Mat(const Mat &m)
//m:以构建完成的Mat类矩阵变量
希望复制两个一模一样的Mat类而批次之间不会影响,那么可以使用m=a.clone()
(5)榕树贷款创建已有Mat类的子类
cv::Mat::Mat(const Mat &m,
const Range &rowRange,
const Range &colRange = Range::all()
//m: 已经构建完成的Mat类矩阵数据
//rowRange:在以有矩阵中需要截取的行数范围,是一个Range变量,例如Range(2,5)表示从第二行, //到第五行
//colRange:截取列的范围
//这种方式主要用于在原图中截图使用。不过需要注意的是,通过这种方式构造的Mat类与已有Mat类享有共同的数据