1、Mat对象与IplImage对象
Mat对象是图像数据结构,自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分为头部和数据两个部分。
IplImage是c语言风格的数据结构,需要开发者自己分配和管理内存,容易导致内存泄露问题。
2、 Mat对象构造函数以及常用方法
3、Mat对象使用
·部分复制:一般情况下只会复制Mat对象的头和指针部分,不会复制数据部分 Mat A = imread(imgFilePath);
`完全复制:如果想把Mat对象的头部和数据部分一起复制,可以通过一下两个API实现 Mat F = A.clone(); 或 Mat G; A.copyTo(G);
4、Mat对象使用–四个要点
·输出图像的内存是自动分配的
·使用OpenCV的C++接口,不需要考虑内存分配问题
·赋值操作和拷贝构造函数只会复制头部分
·使用clone与copyTo两个函数实现数据完全复制
5、Mat对象创建
· cv::Mat::Mat构造函数
Mat M(2, 2, CV_8UC3, Scalar(0, 0, 255))
其中前两个参数分别表示行(row)跟列(column)、第三个CV_8UC3中的8表示每个通道占8位、U表示无符号、C表示Char类型、3表示三通道,第四个参数是向量表示初始化每个像素值是多少,
Mat对象的使用
最新推荐文章于 2023-06-26 19:06:06 发布