2016-08-15 7 views
1

長方形の画像の行または列に沿って平均化して得られた1D信号を平均プロファイルと呼びます。OpenCVで平均化されたプロファイルを計算するには

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

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

私は多分、適切な用語を使用しないことによって、APIでそれを見つけることができませんでした。

ボックスフィルタは不要です。行/列ごとに1つの値が必要です。平均の代わりに合計が同じように良いです。

答えて

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