我已经使用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关键字。这会导致所有问题,因为重写的方法不再被调用。我会修复它并相应地更新此帖子。

10-07 23:06