单通道img像素点读取 :
img.at<Vec3b>(i,j)
多通道图像像素点读取:
Vec3b S=img.at<Vec3b>(i,j);
cout<<S.val[0]<<" "<<S.val[1]<<" "<<s.val[2]<<endl;
或者
k=img.at<Vec3b>(i,j)[0]
实例
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat img=imread("lena.jpg"); //载入图像到Mat
namedWindow("lena"); //创建窗口
imshow("lena",img);//显示窗口
for(int i=0;i<img.rows;i++)
{
for(int i=0;j<img.cols;j++)
{
img.at<Vec3b>(i,j)[0]=0;
}
}
imwrite("lena_r0.jpg",img);
waitKey();
return 0;
}