2017-05-24 160 views
0

我想使用cv::meanStdDev來計算2D矢量的均值和標準偏差。但它不斷收到錯誤。這裏是如果我將其更改爲一維向量我的代碼opencv :: meanStdDev帶有矢量<vector <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

一個例子。它的工作原理

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

該文件指出,cv::meanStdDev可以採取vector<vector<_T>>爲InputArray。我在這裏做錯了什麼?非常感激。

+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>>應該可以工作,如您所述。 –

相關問題