2017-05-24 18 views
0

のopencv :: meanStdDev cv::meanStdDevを使用して2次元ベクトルの平均と標準偏差を計算します。しかし、それは間違いを続ける。私は1Dベクトルにそれを変更する場合はここに私のコードベクトル<ベクトル<double>>

vector<vector<uchar>> v = {{1,2,3}, {4,5,6}}; 
Scalar mean, stddev; 
meanStdDev(v, mean, stddev); 

OpenCV Error: Assertion failed (0 <= i && i < (int)vv.size()) in cv::_InputArray::getMat_, file C:\build\master_winpack-build-win64-vc14\opencv\modules\core\src\matrix.cpp, line 1244

の一例です。これは、文書がcv::meanStdDevがInputArrayとしてvector<vector<_T>>を取ることができると述べている

vector<uchar> v = {1,2,3}; 
Scalar mean, stddev; 
meanStdDev(v, mean, stddev); 

動作します。私はここで何が間違っていたのですか?とても有難い。

+0

何がエラーですか? –

+0

投稿のエラーを更新しました。 – user8060987

答えて

0

コード/ポストには、実際にエラーが発生した場所はありません。デバッガで例外を調べるときに詳細情報を提供するtry catchブロックで呼び出しをラップしてみてください。

+0

ありがとうございます。私はcatchからエラーを更新しました。 – user8060987

+0

OpenCVのgetMat_()ルーチンで問題になっているようです。 OpenCVの文書[http://docs.opencv.org/2.4/modules/core/doc/basic_structures.html?highlight=inputarray#inputarray]によれば、< vector < T>ベクトルがあなたの言うとおりに動作するはずです。 –

関連する問題