2017-05-13 15 views
0

英語がとても悪いことは残念です。opencv3でUMatを使用して顔認識をトレーニングする方法

vector<UMat> images; 

vector<int> labels; 

Ptr<BasicFaceRecognizer> modelPCA = createEigenFaceRecognizer(); 

UMATに絵を読む:

for(...) { 
    UMat t_image = imread(t_imagePath.toStdString(), 0).getUMat(ACCESS_FAST); 
    images.push_back(t_image); 
    labels.push_back(label); 
} 

しかし、私はいたが、私はこのような変数を宣言し

#include "cv.h" 
#include "opencv/cv.hpp" 
#include "opencv2/face.hpp" 

using namespace std; 
using namespace cv; 
using namespace cv::face; 

私は、ヘッダファイルを既に含まれていますトレーニング:

エラー投稿

OpenCV Error: Bad argument (The data is expected as InputArray::STD_VECTOR_MAT (a std::vector<Mat>) or _InputArray::STD_VECTOR_VECTOR (a std::vector< std::vector<...> >).) in asRowMatrix, file C:\opencv\opencv_contrib-3.2.0\modules\face\src\face_basic.hpp, line 43 
terminate called after throwing an instance of 'cv::Exception' 
    what(): C:\opencv\opencv_contrib-3.2.0\modules\face\src\face_basic.hpp:43: error: (-5) The data is expected as InputArray::STD_VECTOR_MAT (a std::vector<Mat>) or _InputArray::STD_VECTOR_VECTOR (a std::vector< std::vector<...> >). in function asRowMatrix 

は、私はそれをどのように修正すればよいですか?

答えて

0

多分OpenCVのは

if(src.kind() != _InputArray::STD_VECTOR_MAT && src.kind() != _InputArray::STD_VECTOR_VECTOR) { 
    String error_message = "The data is expected as InputArray::STD_VECTOR_MAT (a std::vector<Mat>) or _InputArray::STD_VECTOR_VECTOR (a std::vector< std::vector<...> >)."; 
    CV_Error(Error::StsBadArg, error_message); 
} 
まだそれをサポートしていません。
関連する問題