Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich den Fehler „-215) !empty() in der Funktion discoverMultiScale', wenn ich die Gesichtserkennung von OpenCV verwende?

Warum erhalte ich den Fehler „-215) !empty() in der Funktion discoverMultiScale', wenn ich die Gesichtserkennung von OpenCV verwende?

Linda Hamilton
Linda HamiltonOriginal
2024-10-25 05:03:29268Durchsuche

Why Am I Getting the Error

Fehler: (-215) !empty() in der Funktion discoverMultiScale

Beim Versuch, die Funktion „DetectMultiScale“ von OpenCV zu verwenden, kann ein Fehler auftreten : (-215) !empty() in der Funktion discoverMultiScale. Dieser Fehler tritt normalerweise aufgrund einer ungültigen oder beschädigten Cascade-Klassifikatordatei auf.

Um dieses Problem zu beheben, versuchen Sie Folgendes:

Stellen Sie sicher, dass die Klassifikatordateien korrekt geladen sind

Der CascadeClassifier-Konstruktor erfordert einen gültigen Pfad zur XML-Datei, die die Klassifikatordaten enthält. In Ihrem Code:

<code class="python">face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')</code>

Stellen Sie sicher, dass diese Pfade auf den richtigen Speicherort der XML-Dateien verweisen. Wenn Sie sich über den Speicherort nicht sicher sind, können Sie vorab trainierte Klassifikationsdateien aus dem OpenCV-GitHub-Repository oder anderen vertrauenswürdigen Quellen beziehen.

Verwenden Sie die Dateneigenschaft von OpenCV

Alternativ , können Sie die Dateneigenschaft von OpenCV verwenden, um die Klassifikatordateien automatisch zu finden:

<code class="python">face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')</code>

Bei diesem Ansatz müssen Sie nicht die absoluten Pfade zu den Klassifikatordateien angeben.

Überprüfen Sie die Klassifizierungsdateien

Stellen Sie sicher, dass die Dateien haarcascade_frontalface_default.xml und haarcascade_eye.xml im angegebenen Verzeichnis vorhanden sind. Wenn sie fehlen oder beschädigt sind, laden Sie sie erneut von einer seriösen Quelle herunter.

Stellen Sie sicher, dass Ihr Code kompiliert und ausgeführt wird

Sobald Sie die Probleme mit den Klassifikationsdateien behoben haben, Stellen Sie sicher, dass Ihr Code fehlerfrei kompiliert und ausgeführt wird. Wenn das Problem weiterhin besteht, überprüfen Sie das Eingabebild auf etwaige Probleme, z. B. falsche Formatierung oder Beschädigung.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich den Fehler „-215) !empty() in der Funktion discoverMultiScale', wenn ich die Gesichtserkennung von OpenCV verwende?. 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