2017-10-08 6 views
0

J'ai installé dlib en utilisant conda, et j'utilise dlib 19.4. Quand je lance le face_recognition.py exemple de code python je reçois cette erreur de sortieErreur Dlib face_recognition de dlib.image_window

face_recognition.py python ../models/shape_predictor_5_face_landmarks.dat ../models/dlib_face_recognition_resnet_model_v1.dat ../examples/faces Traitement du fichier: D : \ Docs \ Python_code \ Dlib \ examples \ faces \ 2007_007763.jpg Nombre de visages détectés: 7 Détection 0: Gauche: 93 En haut: 194 Droite: 129 En bas: 230 Traçage arrière (dernier appel en dernier): Fichier " face_recognition.py », à la ligne 99, dans win.add_overlay (forme) RuntimeError:

erreur détectée à la ligne 25. Une erreur a été détectée dans le fichier C: \ bld \ dlib_1504195460225 \ work \ dlib-19.4 \ dlib .. \ dlib/image_processing/render_face_detections.h. Erreur détectée dans la classe de fonctions std :: vector> __cdecl dlib :: render_face_detections (classe const std :: vector> &, const struct dlib :: rgb_pixel).

expression A défaut était dét [i] .num_parts() == 68. render_face_detections std :: vecteur() entrées non valides ont été données à cette fonction. dets [0] .num_parts(): 5

Comme vous pouvez le voir, il détecte 7 faces, ce qui est correct dans l'image, mais lorsqu'il essaie de dessiner le rectangle, il rencontre l'erreur. Je vois que l'erreur provient de la fonction win.add_overlay. Je suis perdu sur cette erreur ou comment y remédier, des suggestions? Le code exemple est exactement comme il est de https://github.com/davisking/dlib/blob/master/python_examples/face_recognition.py La fenêtre apparaît à l'image avec une boîte rouge autour d'un visage correctement identifié, mais seulement 1 des 7

+0

J'ai mis à jour le code de l'exemple pour utiliser le modèle des points de repère à 68 points. Cela fonctionne maintenant sans erreurs. Existe-t-il un moyen d'utiliser le modèle à 5 points comme indiqué dans l'exemple? –

Répondre

0

Si vous souhaitez utiliser un exemple de programme de la nouvelle version de dlib alors vous devez utiliser la nouvelle version de dlib, pas une version plus ancienne. Vous ne pouvez pas prendre un exemple de programme pour la nouvelle version et attendez-vous à ce qu'il fonctionne avec l'ancienne version. La nouvelle version a de nouvelles fonctionnalités, qui sont illustrées dans le programme d'exemple.

+0

Merci pour le commentaire, j'utilise l'ancienne version de 19.4 car c'est ce qui est le plus à jour sur Conda je crois; Je vais essayer d'installer manuellement la dernière version à utiliser avec les exemples publiés. Je me souviendrai de comparer les notes de publication à l'avenir –