Résolution d'erreur : "erreur : (-215) !empty() dans la fonction detectorMultiScale" dans la détection de visage d'OpenCV
Dans OpenCV, lorsque Lorsque vous tentez d'effectuer une détection de visage à l'aide de la méthode cv2.CascadeClassifier.detectMultiScale(), il n'est pas rare de rencontrer un message d'erreur tel que « erreur : (-215) !empty() dans la fonction detectMultiScale ». Cette erreur indique généralement un problème avec la façon dont les fichiers XML du classificateur en cascade de visages sont chargés ou référencés.
Pour résoudre ce problème, il est crucial de s'assurer que le chemin d'accès aux fichiers XML est correctement spécifié. Dans le code d'origine fourni :
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
L'emplacement spécifique des fichiers XML dans le répertoire OpenCV n'est pas explicitement défini. Par conséquent, OpenCV peut avoir du mal à localiser et charger ces fichiers.
Une solution recommandée à ce problème consiste à utiliser la propriété cv2.data.haarcascades pour localiser et charger automatiquement les fichiers XML nécessaires. En mettant à jour le code comme suit :
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
OpenCV récupérera automatiquement les fichiers XML depuis leur emplacement par défaut dans le dossier haarcascades. Cette approche garantit que les fichiers corrects sont chargés sans qu'il soit nécessaire de coder en dur des chemins spécifiques, résolvant ainsi le problème et permettant une détection de visage réussie.
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!