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;
}