我是Image Processing和Opencv的初学者。我试图使用OPENCV#找出图像的各个像素强度。这里有帮助:http://docs.opencv.org/doc/user_guide/ug_mat.html?highlight=pixel%20intensity针对同一问题。但我不知道如何在OPENCV#中使用它。 我知道这是一个非常基本的查询。请尽力帮忙。提前谢谢。
答案 0 :(得分:2)
像素强度与像素的灰度值相同。要获得RGB图像的灰度(像素强度)版本,您可以执行以下操作:
cv::cvtColor(rgb_mat,gray_mat,CV_RGB2GRAY);
现在,3通道RGB图像已转换为1通道GRAYSCALE图像。要在RGB图像中找到像素(x,y)的强度,您可以执行以下操作:
//NOTE: in OpenCV pixels are accessed in (row,col) format
int intensity = (int)gray_mat.at<uchar>(y,x);
由于每个灰度像素都存储为uchar,因此intensity
的值范围为(0-255),其中255是最大强度(视为完全白色像素)。
答案 1 :(得分:1)
//Color
//Red
byte Red_val = My_Image.Data[y,x,0];
//Green
byte Green_val = My_Image.Data[y,x,1];
//Blue
byte Blue_val = My_Image.Data[y,x,2];
//Greyscale
byte Gray_val = My_Image.Data[y,x,0];