opencv中的像素强度#

opencv中的像素强度#,opencv,Opencv,我是图像处理和Opencv的初学者。我试图使用OPENCV#找出图像的单个像素强度。这里也有援助:针对同样的问题。但我不知道如何在OPENCV中使用它。 我知道这是一个非常基本的问题。请尽力帮忙。提前感谢。在emgu简历中,你可以随心所欲 像素强度与该像素的灰度值相同。要获取BGR图像的灰度(像素强度)版本,可以执行以下操作: cv::cvtColor(bgr_mat,gray_mat,CV_BGR2GRAY); //NOTE: in OpenCV pixels are accessed i

我是图像处理和Opencv的初学者。我试图使用OPENCV#找出图像的单个像素强度。这里也有援助:针对同样的问题。但我不知道如何在OPENCV中使用它。
我知道这是一个非常基本的问题。请尽力帮忙。提前感谢。

在emgu简历中,你可以随心所欲



像素强度与该像素的灰度值相同。要获取BGR图像的灰度(像素强度)版本,可以执行以下操作:

cv::cvtColor(bgr_mat,gray_mat,CV_BGR2GRAY);
//NOTE: in OpenCV pixels are accessed in (row,col) format
int intensity = (int)gray_mat.at<uchar>(y,x);
现在,3通道BGR图像已转换为1通道灰度图像。要查找灰度图像中像素(x,y)的强度,可以执行以下操作:

cv::cvtColor(bgr_mat,gray_mat,CV_BGR2GRAY);
//NOTE: in OpenCV pixels are accessed in (row,col) format
int intensity = (int)gray_mat.at<uchar>(y,x);
//注意:在OpenCV中,像素以(行、列)格式访问
int强度=(y,x)处的(int)灰色材料;

由于每个灰度像素都存储为uchar,因此强度的值将在(0-255)范围内,其中255是最大强度(视为完全白色像素)。

第一行代码中的转换不应该使用CV_BGR2GRAY吗,因为OpenCV通常使用BGR与RGB?像素的顺序无关紧要,bgr和rgb将具有相同的灰度结果,并且为了简单起见,因为用户是新用户,并且使用我以rgb格式解释的导入图像。但是红色、绿色和蓝色不会以相同的方式转换为灰色。通常,r*0.299、g*0.587和b*0.114。根据你的代码,绿色是可以的,但红色和蓝色已经被切换,这会给你“错误”的强度。我提出这个问题的唯一原因是因为我以前遇到过这个问题。见: