当面部在训练图像集中不可用时,我需要捕获异常。我正在使用EigenFaceRecognizer进行识别,如果有可用图像,我将运行它,它将正确预测,但是如果没有可用图像,它将不执行任何操作,它将预测训练图像集中的最后一张图像。当图像集中没有人脸时,如何实现代码给我错误?
FaceRecognizer faceRecognizer = createEigenFaceRecognizer();
faceRecognizer.train(images, labels);
int predictedLabel = faceRecognizer.predict(testImage);
System.out.println("Predicted label: " + predictedLabel);
return predictedLabel;
最佳答案
我认为您想做这样的事情:
final double MIN_CONFIDENCE = 0.01; // experiment with this.
int labela[] = new int[1];
double confidence[] = new double[1];
faceRecognizer.predict(testImage,labela, confidence);
int predictedLabel = (confidence[0] > MIN_CONFIDENCE)?labela[0]:-1;
System.out.println("Predicted label: " + predictedLabel);
您将需要试验获得的信任值,以找到可以拒绝失败而不拒绝某些合法案例的良好值(value)。