读写图像:
imread 可以指定加载为灰度或者RGB图像
imwrite 保存图像文件,类型由扩展名决定读写像素:
读一个GRAY像素点的像素值
int gray = dit.at<uchar>(row, col);
写一个像素点的像素值
dit.at<uchar>(row, col) = 255 - gray;
读一个RGB像素点的像素值
int b = dit.at<Vec3b>(row, col)[0];
int g = dit.at<Vec3b>(row, col)[1];
int r = dit.at<Vec3b>(row, col)[2];
写一个RGB像素点的像素值
dit.at<Vec3b>(row, col)[0] = 255 - b;
dit.at<Vec3b>(row, col)[1] = 255 - g;
dit.at<Vec3b>(row, col)[2] = 255 - r;
RGB转灰度图像的方法:
- dit.at<uchar>(row, col) = max(r, max(b, g));
- bitwise_not(img,dit); //位运算 直接换成灰度图片
//ROI选择 裁剪一个自己想要的图片大小
Rect r(10, 10,500, 500);
Mat smallImg = img(r);