openCV图像操作
openCV图像操作
读写图像
imread可以指定加载为灰度或者RGB图像
imwrite保存图形文件,类型由扩展名决定
读写像素
读一个GRAY像素点的像素值(CV_8UC1)
Scalar intensity=img.at<uchar>(y,x);
或者
Scalar intensity =img.at<uchar>(Point(x,y));
获取每一个像素的rgb值
代码
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
Mat a = imread("C:\\Users\\27507\\Desktop\\1.png");
int height, width;
//获取图片的宽度和高度
height = a.rows;
width = a.cols;
for (int row = 0; row < height; row++)
{
for (int col = 0; col < width; col++)
{
int b = a.at<Vec3b>(row, col)[0];//blue
int g = a.at<Vec3b>(row, col)[1]; //green
int r = a.at<Vec3b>(row, col)[2];//red
cout << b << " " << g << " " << r<<" ";
}
}
namedWindow("output", WINDOW_AUTOSIZE);
imshow("output", a);
waitKey(0);
return 0;
}