Heim  >  Artikel  >  Backend-Entwicklung  >  „Fehler: (-215) !empty() in der Funktion discoverMultiScale: Warum schlägt meine Gesichtserkennung fehl und wie kann ich das beheben?“

„Fehler: (-215) !empty() in der Funktion discoverMultiScale: Warum schlägt meine Gesichtserkennung fehl und wie kann ich das beheben?“

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 10:38:30579Durchsuche

Fehlerbehandlung: Behebung von „error: (-215) !empty() in function discoverMultiScale“ in OpenCV

Beim Versuch, das zu verwenden Wenn Sie die Methode „detektierenMultiScale()“ zum Erkennen von Gesichtern in einem Bild verwenden, tritt möglicherweise der Fehler „Fehler: (-215) !empty() in der Funktion „detektierenMultiScale““ auf. Dieser Fehler tritt typischerweise auf, wenn der Gesichtskaskadenklassifikator, eine entscheidende Komponente für die Gesichtserkennung, nicht korrekt geladen wird.

Um dieses Problem zu beheben, muss unbedingt sichergestellt werden, dass der zur Haar-Kaskaden-XML-Datei angegebene Pfad gültig ist . Im bereitgestellten Codeausschnitt wird der Kaskadenklassifikator mit hartcodierten Pfaden geladen, die für Ihr System möglicherweise nicht genau sind. Stattdessen bietet OpenCV eine praktische Eigenschaft zum automatischen Auffinden dieser Dateien.

Der aktualisierte Code unten zeigt, wie das Problem mithilfe der OpenCV-Eigenschaft behoben werden kann:

<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>

Durch die Verwendung der OpenCV-Eigenschaft können Sie sicherstellen Stellen Sie sicher, dass der Gesichtskaskadenklassifikator korrekt geladen ist, wodurch das Problem „Fehler: (-215) !empty() in Funktion discoverMultiScale“ behoben wird.

Das obige ist der detaillierte Inhalt von„Fehler: (-215) !empty() in der Funktion discoverMultiScale: Warum schlägt meine Gesichtserkennung fehl und wie kann ich das beheben?“. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn