函数 at()来实现读去矩阵中的某个像素,或者对进行赋值操作。 来实现读去矩阵中的某个像素,或者对进行赋值操作。
<span style="font-size:14px;">#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int i,j;
int main()
{
Mat Gray_image(600,800,CV_8UC1);
Mat Color_image(600,800,CV_8UC3);
for(i=0;i<Gray_image.rows;i++)
for(j=0;j<Gray_image.cols;j++)
Gray_image.at<uchar>(i,j)=(i+j)%256;
for(i=0;i<Color_image.rows;i++)
for(j=0;j<Color_image.cols;j++)
{
Vec3b pixel;
pixel[0]=i%256;
pixel[1]=j%256;
pixel[2]=0;
Color_image.at<Vec3b>(i,j)=pixel;
}
imshow("Gray_image", Gray_image);
imshow("Color_image", Color_image);
waitKey();
return 0;
}</span>
两幅图像为别为: