类似于图像的句柄
介绍:
Mat不再需要手动分配内存,释放内存。使用的时候会自动分配所需的空间(不用考虑内存回收的问题)。
Mat本质上是由两部分组成的类,1.图像信息(宽,高,类型)。2.图像数据指针
构造函数
//定义一个长2,宽2,的GBR图像,默认像素点为(0,0,255)
Mat mat(2,2,CV_8UC3,Scalar(0,0,255));
//像素点随机值
randu(mat,Scalar::all(0),Scalar::all(255));
浅拷贝
Mat B(A)//使用拷贝构造函数
C=A;//赋值运算符共享同一个图像数据指针(共享同一内存)
//深拷贝
Mat F = A.clone();
Mat G; A.copyTo(G);
//导入图像
Mat imread( const String& filename);通过文件名来导入图像数据指针
//导出图像
bool imwrite( const String& filename, InputArray mat,);将内存中的图像数据写入图像文件
//截取图像的一部分
Mat D(mat,Rect(10,10,100,100));//用矩形界定
Mat E=A(Range:all(),Range(1,3));//用行列来界定