2012-10-02 31 views
11

openCVチートシート(C++)では、マトリックスopration mean()が見つかりました。私はそれを使用する場合:cvMatの平均値を計算して使用する方法

float myMatMean = mean(MyMat); 

を私はエラーを取得:

no suitable conversion function from "cv::Scalar" to "float" exists

私はこのデータを使用するためには何ができますか?

+14

:: Scalar'そうCV'てみてください::スカラmyMatMean =平均(MyMat); ' – hmjd

+0

私は思いますあなたがScalarを気にしたくなければ、floatではなくdoubleを使います。しかしScalarはすべてのチャンネルで平均を与えます – remi

答えて

25

ありがとうございました。

myMatは2D画像でしたが、問題はそれでした。返品タイプはまだScalarのサイズでした。解決策は、平均() ``タイプ品種の変数を返すように見える `

cv:Scalar tempVal = mean(myMat); 
float myMAtMean = tempVal.val[0]; 
+6

あなた自身の答えを受け入れてください、そして私たちは皆幸せです:) – TheBlastOne

+0

... hmjdのコメントを努力のための返済として投票します。 –

+0

地獄、私はあなたのためにそれをやろう... –

関連する問題