彩色图像: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;
}
}
}
本文介绍了彩色图像和灰度图像的数据类型表示,并演示了如何使用OpenCV库创建不同类型的图像,包括初始化白色背景图像的方法。此外,还详细解释了如何通过遍历图像像素进行颜色修改的具体实现。
589

被折叠的 条评论
为什么被折叠?



