2012-11-06 1 views
4

J'ai implémenté la reconnaissance faciale en Java en utilisant la classe javacv LBPH, mais je suis confronté à un problème dans lequel FaceRecognizer.LBPH ne supporte pas la fonction de mise à jour . Voici l'erreur:OpenCV 2.4.3 - JavaCV 0.3 - Classe FaceRecognizer - LBPH - La fonction de mise à jour ne fonctionne toujours pas

"Erreur OpenCV: La fonction/fonction n'est pas implémentée (Cette FaceRecognizer (FaceRecognizer.LBPH) ne supporte pas la mise à jour, vous devez utiliser FaceRecognizer :: train pour la mettre à jour.) Dans la fonction inconnue, fichier ...... \ src \ opencv \ modules \ contrib \ src \ facerec.cpp, ligne 305 "

Répondre

1

J'ai le même problème. Apparemment, la fonction n'est pas implémentée dans OpenCV 2.4.3 Voir: javacv

2

Voici le problème. Dans le coffre du référentiel OpenCV, la méthode est virtuelle et remplacée par le LBPH FaceRecognizer. Donc, il est appelé par les règles de liaison tardive en C++. Cela fonctionne pour C++ et tous les wrappers. Mais et voici le problème: Dans la branche 2.4 d'OpenCV, l'équipe voulait garantir la compatibilité binaire et donc le mot-clé virtuel a été retiré de la signature de la méthode. Cela provoque tous les problèmes, car les méthodes surchargées ne sont plus appelées. Je vais le réparer et mettre à jour ce post en conséquence.

Questions connexes