彩色图像:Vec3b
灰度图像:uchar
新建一张灰度图像 cv::Mat image(行数,列数,CV_8UC1)
cv::Mat result(ori.rows, ori.cols, CV_8UC1)
创建白色图像的两种方法
Mat image_color(600, 800, CV_8UC3, Scalar(255, 255, 255));
//Mat image_color = Mat::zeros(600, 1000, CV_8UC3);
//image_color = Scalar(255, 255, 255) - image_color;
/*图像遍历方法简介*/
/*at方法:程序可读性高,但是效率低*/
for (int i = 0;i < Image.rows;++i) {
for (int j = 0;j < Image.cols;++j) {
//cv::Point point(j,i);
/*Image.at<Vec3b>(i,j) i表示行数,j表示列数Image.at<Vec3b>(point(j,i)) i表示行数,j表示列数
注意是Vec3b而不是Vect3dtypedef cv::Vec<uchar,3> cv::Vec3b*/
if (Image.at<Vec3b>(i,j)[0]==255&& Image.at<Vec3b>(i, j)[1]==255 && Image.at<Vec3b>(i, j)[2]==255) {
Image.at<Vec3b>(i, j)[0] = 0;
Image.at<Vec3b>(i, j)[1] = 0;
Image.at<Vec3b>(i, j)[2] = 0;
}
}
}