OpenCV预测

时间:2015-11-13 03:04:05

标签: c++ opencv eigenvalue

大家晚上好,

我试过用这个

根据OpenCV 3.0文档保留我的Ptr变量类型为BasicFaceRecognizer:http://docs.opencv.org/master/db/d7c/group__face.html#gsc.tab=0

Ptr<BasicFaceRecognizer> model;    
int label = -1;
double confidence = 0.0;
this->imageManager = pManager;
this->model = createEigenFaceRecognizer();
this->model->train(pManager->getOpenCVTrainImages(), pManager->getTrainLabels());

for(Mat& imageToTest : pManager->getOpenCVTestImages())
{
    this->model->predict(imageToTest, label, confidence);
    cout << "Class: " << label
        << " The confidence predicted towards the test image is: " << confidence << endl;
}

运行此代码时,它正确识别标签(这是一件好事)但是,如果测试图像是针对不属于其类的子集运行的,那么我期望得到一个-1或者非常低的类信心。

在这个例子中,我没有将面部识别器设置为10个PCA组件,我没有设置阈值。但是,我试图用createEigenFaceRecognizer(10,123.0)或createEigenFaceRecognizer(10,50.0)或createEigenFaceRecognizer(0,1.0)来运行它......

所有上述情况都给了我一个0的置信度。这似乎不太可能或不可能我期待至少一些数字。

我做错了什么,这是一个错误吗?

0 个答案:

没有答案