OpenCV中的像素值超过255 - 1D直方图

时间:2013-01-15 08:54:55

标签: c++ visual-studio-2010 visual-c++ opencv

http://www.huahongquan.com/index.php/blog/x-ly-nh-video-s/11-opencv-topic-02-get-histogram

我用他的代码为我的图像计算一维直方图。问题是,范围设置为0-255但是当我打印值时,我得到的像素值超过255(即15842,73132)

我需要在代码中添加一些内容吗?

@George这是我打印值的方式,我使用Mat。

for(int i = 0 ; i < 256 ; i++){
cout << "Value"  << i << " = " << histogram.at<float>(i) << endl;        
}

1 个答案:

答案 0 :(得分:8)

我认为你所说的0-255范围是箱数,而不是像素值。

histogram.at<float>(i)是落入bin i的像素数,因此它可以是从0到输入图像大小(宽度*高度)的任何整数。

例如,输出Value254 = 4182表示有4182个像素,其值为254。