Maison  >  Article  >  développement back-end  >  \"Erreur : (-215) !empty() dans la fonction detectorMultiScale : Pourquoi la détection de mon visage échoue-t-elle et comment puis-je y remédier ?\"

\"Erreur : (-215) !empty() dans la fonction detectorMultiScale : Pourquoi la détection de mon visage échoue-t-elle et comment puis-je y remédier ?\"

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 10:38:30579parcourir

Gestion des erreurs : résolution de "erreur : (-215) !empty() dans la fonction detectMultiScale" dans OpenCV

Lors de la tentative d'utilisation du détecteMultiScale() pour détecter les visages dans une image, vous pouvez rencontrer l'erreur "erreur : (-215) !empty() dans la fonction détecterMultiScale." Cette erreur survient généralement lorsque le classificateur de cascade de visages, un composant crucial pour la détection de visages, n'est pas chargé correctement.

Pour résoudre ce problème, il est essentiel de s'assurer que le chemin fourni vers le fichier XML de la cascade Haar est valide. . Dans l'extrait de code fourni, le classificateur en cascade est chargé avec des chemins codés en dur, qui peuvent ne pas être précis pour votre système. Au lieu de cela, OpenCV fournit une propriété pratique pour localiser ces fichiers automatiquement.

Le code mis à jour ci-dessous montre comment résoudre le problème à l'aide de la propriété d'OpenCV :

<code class="python">import cv2

# Use OpenCV's property to locate the Haar cascade XML files
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')

# Proceed with face detection
img = cv2.imread('2015-05-27-191152.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:
    img = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)</code>

En utilisant la propriété d'OpenCV, vous pouvez vous assurer que le classificateur en cascade de visages est chargé correctement, résolvant le problème "erreur : (-215) !empty() dans la fonction detectMultiScale".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn