opencv中的像素强度#

时间:2012-10-09 12:47:19

标签: opencv

我是Image Processing和Opencv的初学者。我试图使用OPENCV#找出图像的各个像素强度。这里有帮助:http://docs.opencv.org/doc/user_guide/ug_mat.html?highlight=pixel%20intensity针对同一问题。但我不知道如何在OPENCV#中使用它。 我知道这是一个非常基本的查询。请尽力帮忙。提前谢谢。

2 个答案:

答案 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)

在emgu cv中,你可以像this那样做。

//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];