OpenCV - System.Runtime.InteropServices.SEHException Visual C ++异常CLR项目

时间:2017-03-03 04:01:27

标签: c++ opencv visual-studio-2015

我一直在努力解决这个问题大约三个小时,说实话,我已经累了......

我不知道我做错了什么。

这是我的功能:

private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
        std::vector<Mat> images;
        std::vector<int> labels;

        std::vector<cv::String> filenames;
        glob("Dataface/*.jpg", filenames, false);

        if (filenames.size() == (size_t)0) {
            MessageBox::Show("La carpeta está vacía.", "Error", MessageBoxButtons::OK, MessageBoxIcon::Error);
            return;
        }

        for (size_t i = 0; i < filenames.size(); i++) {
            images.push_back(imread(filenames[i]));
            labels.push_back((int)i);
        }

        Ptr<FaceRecognizer> model = createEigenFaceRecognizer();

        model->train(images, labels);

        Mat img = imread("C:\\Users\\Germán Aguilera\\Desktop\\Christina.jpg");

        int prediction = model->predict(img);

        //MessageBox::Show(prediction.ToString());

        //rModel = &model;

        MessageBox::Show("El programa ya ha sido entrenado.", "Reconocimiento facial", MessageBoxButtons::OK, MessageBoxIcon::Information);
    }

抛出异常的行是:

int prediction = model->predict(img);

但为什么呢? 我没有遇到任何问题:

model->train(images, labels);

所以我只是复制并粘贴到另一个文件夹中的过程图像,以使用预测函数检查结果,但我得到了这个例外。

0 个答案:

没有答案