我已经使用 javacv LBPH 类在 Java 中实现了人脸识别,但我遇到了 FaceRecognizer.LBPH 不支持更新功能的问题。这是错误:
“OpenCV错误:功能/特征未实现(此FaceRecognizer(FaceRecognizer.LBPH)不支持更新,您必须使用FaceRecognizer::train来更新它。)在未知功能,文件..... .\src\opencv\modules\contrib\src\facerec.cpp,第 305 行”
最佳答案
问题来了。在 OpenCV 存储库的主干中,该方法是虚拟的,并被 LBPH FaceRecognizer 覆盖。所以它被 C++ 中的后期绑定(bind)规则调用。这适用于 C++ 和所有包装器。 但这就是问题所在:在 OpenCV 的 2.4 分支中,团队希望保证二进制兼容性,因此从方法签名中删除了 virtual 关键字。这会导致所有问题,因为不再调用覆盖的方法。我会修复它并相应地更新这篇文章。
关于OpenCV 2.4.3 - JavaCV 0.3 - FaceRecognizer 类 - LBPH - 更新功能仍然无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13246094/