我使用javacv LBPH类在Java中实现了人脸识别,但是我遇到了FaceRecognizer.LBPH不支持更新功能的问题。这是错误:
“OpenCV错误:未实现功能/功能(此FaceRecognizer(FaceRecognizer.LBPH)不支持更新,您必须使用FaceRecognizer :: train来更新它。)在未知功能,文件..... 。\ src \ opencv \ modules \ contrib \ src \ facerec.cpp,第305行“
答案 0 :(得分:2)
这是问题所在。在OpenCV存储库的主干中,该方法是虚拟的,并由LBPH FaceRecognizer覆盖。因此它被C ++中后期绑定的规则所调用。这适用于C ++和所有包装器。 但问题是:在OpenCV的2.4分支中,团队希望保证二进制兼容性,因此从方法签名中删除了虚拟关键字。这会导致所有问题,因为不再调用overriden方法。我会修复它并相应地更新这篇文章。
答案 1 :(得分:1)
我有同样的问题。显然,OpenCV 2.4.3中没有实现该功能 请参阅:javacv
答案 2 :(得分:1)
这对我现在在iOS中起作用(在以前的版本中没有调用更新)。我使用这些说明从最新的repo版本重建了框架:http://docs.opencv.org/trunk/doc/tutorials/introduction/ios_install/ios_install.html