1
我正在开发一个C++项目,它需要计算给定图像的垂直强度直方图。输入图像我和我期待得到的输出是类似于这:VerticalIntensityStatistics在OpenCV中类似
我不知道哪个OpenCV函数最适合得到我需要的输出。 我试过calcHist
函数和reduce
函数,但是由于我在传递参数方面的错误,它们似乎都不起作用。
考虑到我有一个很好的B & W图像,有人可以帮我计算直方图吗?
谢谢
我正在开发一个C++项目,它需要计算给定图像的垂直强度直方图。输入图像我和我期待得到的输出是类似于这:VerticalIntensityStatistics在OpenCV中类似
我不知道哪个OpenCV函数最适合得到我需要的输出。 我试过calcHist
函数和reduce
函数,但是由于我在传递参数方面的错误,它们似乎都不起作用。
考虑到我有一个很好的B & W图像,有人可以帮我计算直方图吗?
谢谢
OpenCV的应该是一个内置函数:reduce
(calcHist将无法正常工作,因为它的强度装仓,而不是预计的像素数)
reduce(img,0,CV_REDUCE_SUM); // horizontal
reduce(img,1,CV_REDUCE_SUM); // vertical
(呵呵,图片从一个代码项目?记得那个...)
好吧,那工作。非常感谢Berak。是的,这是一篇很好的文章:)。 为了获得和使用我定义的直方图: MatND hist_y; reduce(img,hist_y,1,CV_REDUCE_SUM,CV_32FC1); –
你不需要一个MatND,一个普通的Mat会做(实际上它们是一样的) – berak
你又对了:)它甚至可以用Mat –