2014-06-14 27 views
1

我正在开发一个C++项目,它需要计算给定图像的垂直强度直方图。输入图像我和我期待得到的输出是类似于这:imageVerticalIntensityStatistics在OpenCV中类似

我不知道哪个OpenCV函数最适合得到我需要的输出。 我试过calcHist函数和reduce函数,但是由于我在传递参数方面的错误,它们似乎都不起作用。

考虑到我有一个很好的B & W图像,有人可以帮我计算直方图吗?

谢谢

回答

1

OpenCV的应该是一个内置函数:reduce

(calcHist将无法正常工作,因为它的强度装仓,而不是预计的像素数)

reduce(img,0,CV_REDUCE_SUM); // horizontal 
reduce(img,1,CV_REDUCE_SUM); // vertical 

(呵呵,图片从一个代码项目?记得那个...)

+0

好吧,那工作。非常感谢Berak。是的,这是一篇很好的文章:)。 为了获得和使用我定义的直方图: MatND hist_y; reduce(img,hist_y,1,CV_REDUCE_SUM,CV_32FC1); –

+0

你不需要一个MatND,一个普通的Mat会做(实际上它们是一样的) – berak

+0

你又对了:)它甚至可以用Mat –

相关问题