2014-06-14 25 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 –

相關問題