2016-08-15 51 views
1

我稱之爲通過平均沿着矩形圖像中的行或列獲得的1D信號的平均輪廓。我如何計算OpenCV中的平均輪廓

Px := Σ(y=1,H) I(x, y)/H 

Py := Σ(x=1,W) I(x, y)/W 

我找不到該API中,可能不使用合適的術語。

我不想要一個盒式過濾器,每行/每列只有一個值。總和而不是平均值同樣好。

回答

2

可以使用減少功能:http://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#reduce

using namespace cv; 

// Average over rows 
Mat mean_over_rows; 
reduce(input_mat, mean_over_rows, 0, CV_REDUCE_AVG); 
// Average over the columns 
Mat mean_over_cols; 
reduce(input_mat, mean_over_cols, 1, CV_REDUCE_AVG); 

可以使用CV_REDUCE_SUM標誌,如果你只是想沿所需軸的總結投影。

+0

謝謝,這是我需要的。將圖像視爲矩陣還是需要轉換? –

+0

我認爲它必須是一個opencv Mat結構。 – Luca

+0

@ YvesDaoust如果它解決了您的問題,您是否也可以接受答案? – Luca