像素强度在opencv#
我是Image Processing和Opencv的初学者。 我试图用OPENCV#找出图像的单个像素强度。 这里有帮助:http://docs.opencv.org/doc/user_guide/ug_mat.html?highlight=pixel%20intensity对于同样的问题。 但我不确定如何在OPENCV#中使用它。 我知道这是一个非常基本的查询。 请尽量帮忙。 提前致谢。
在emgu cv中,你可以这样做。
//颜色
//红
字节Red_val = My_Image.Data [y,x,0];
//绿色
byte Green_val = My_Image.Data [y,x,1];
//蓝色
byte Blue_val = My_Image.Data [y,x,2];
//灰度
byte Gray_val = My_Image.Data [y,x,0];
像素强度与该像素的灰度值相同。 要获得RGB图像的灰度(像素强度)版本,您可以这样做:
cv::cvtColor(rgb_mat,gray_mat,CV_RGB2GRAY);
现在3通道RGB图像已被转换为1通道灰度图像。 要找到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是最大强度)(视为完全白色像素)开始变化。