OpenCV エラー: 引数が正しくありません (空のトレーニング データが指定されました。モデルを学習するには、複数のサンプルが必要です。) トレーニング中、ファイル C:/slave/WinInstallerMegaPack/src/opencv/modules/contrib/src/facerec.cpp 、316行目
以下のプログラムを実行しようとすると、上記のエラーが発生します。私の意図は、いくつかの入力画像を提供し、opencv の機能を確認することtrain()
ですpredict()
。以下のコード スニペットに何か問題がありますか?
int main(int argc, char* argv[]) {
const char * trainImage[6] = { "c:\\train\\00000000.jpg", "c:\\train\\00000001.jpg", "c:\\train\\00000002.jpg", "c:\\train\\00000003.jpg", "c:\\train\\00000004.jpg", "c:\\train\\00000005.jpg" };
int imglabel[6] = {1, 2, 3, 4, 5, 6};
vector<Mat> img = vector<Mat>();
vector<int> label = vector<int>();
for (int i = 0; i >= 5; i++) {
img.push_back(imread(trainImage[i], 0));
label.push_back(imglabel[i]);
}
Ptr<FaceRecognizer> model = createEigenFaceRecognizer();
model->train(img, label);
model->save("c:\\train\\file.yaml");
// Testing...
model->load("c:\\train\\file.yaml");
Mat testsample = imread("c:\\test\\00000000.jpg", -1);
int PredictLabel = -1;
double confidence = 0.0;
model->predict(testsample, PredictLabel, confidence);
cout << PredictLabel;
return 0;
}