我有一個配對值的數據集,如(x,y)。例如:x的範圍從-40到60,y從0到100.最初它們存儲在std::vector<std::pair<float,float>>
中,但在一個循環中我將它們轉換爲2通道cv::Mat
,以便能夠將它傳遞給OpenCV的cv::calcHist
函數。我想要達到這樣的一維直方圖:here。由於我實際上有兩個數據範圍,因此我總是以cv::calcHist
作爲cv::Mat
的結果得到一個二維直方圖,但我基本上想要根據給定的bin_size x_bin
計算x軸中y值的平均值。作爲示例:x的範圍從-40到60,期望的bin = 10,bin_size = 10,數據點(x,y):(-35,10),( - 39,20) 1D那麼直方圖將需要計算從-40到-30的料倉範圍的y =(10 + 20)/ 2的平均值。如何從2D數據生成OpenCV 1D直方圖?
因此,每個垃圾桶的總和不應該是落在該垃圾桶範圍內的值的簡單計數,而應該是值的平均值。
我希望我能以可理解的方式陳述問題。任何幫助表示讚賞。