读取图像使用imread()函数,
Mat image = imread("demo.jpg",IMREAD_COLOR);
在读取时,还能够自行选择图像的读取格式,常用的有灰度图像:IMREAD_GRAYSCALE和RGB图像:IMREAD_COLOR。
Mat是Opencv经过高度优化的数据结构,它自带了内存管理,可以通过检测引用数来释放不需要的内存。同时它的赋值操作也分为浅赋值和深复制,浅赋值能够不必复制大量的数据,从而提高程序的性能,最好只在需要深复制时在进行深复制。
在赋值或者初始化时,使用的是浅赋值,这样变量的指针指向的是同一个数据。
cv::Mat image2(image1);
image3 = image2;
image1,image2,image3指向的都是内存中同一块数据,所以只要修改其中一个任意一个变量,其他的都会改变。
而在进行深赋值时,需要使用函数copyTo(),或者clone(),这样复制出来的就是两个不同的内存数据块,这样就可以随意修改数据也不会影响其他的了。
保存图像使用imwrite(),
展示图像使用imshow()