图片读取和显示
Mat img = imread("dog.jpg");//Mat img = imread("dog.jpg",IMREAD_GRAYSCALE); 读取为灰度图
//其他还有IMREAD_UNCHANGE和IMREAD_ANYDEPTH
//创建一个可以手动调整大小的自适应窗口namedWindow("freesize", WINDOW_FREERATIO);imshow("freesize", img);
imwrite("保存位置/文件名",文件对象); //保存
色彩空间转换
cvtColor(输入,输出,函数); GRAY,HSV,BGR
图像对象的创建
Mat基本结构
mat由矩阵头(包含了尺寸、存储方法等信息)和一个包含所有像素信息的矩阵组成。
赋值
克隆(clone)、拷贝(copyTo)、直接赋值m1 = image.clone();image.copyTo(m2);
创建空白矩阵并赋值Mat m3 = Mat::zeros(Size(8, 8), CV_8SC3);
直接赋值是赋的地址,副本改变了原图像也会改变;用克隆和copyTo()则不会
可以用Scalar()对Mat数值进行修改m4 = Scalar(0, 255, 255);
图像像素的读写操作
获取Mat基本参数int w = image.cols;int h = image.rows;int dims = image.channels();
.at<>方法
对象.at
智能指针
