Maison >développement back-end >Tutoriel Python >\'Erreur : (-215) !empty() dans la fonction detectorMultiScale : Pourquoi la détection de mon visage échoue-t-elle et comment puis-je y remédier ?\'
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!