OpenCV facedetect Beispiel nicht geladen cascade classifier xml
Ich arbeite an einer Anwendung, die erfordert, dass OpenCV Objekt-Erkennung mit Haar cascade classifier.
Ich bin mit OpenCV 2.3.1 mit VS2010 auf einer 64-bit-Windows-Maschine.
Ich kompiliert und gebaut OpenCV selbst und nicht irgendwelche vorkompilierten binaries.
Zuerst wollte ich beginnen Einmischung in den Beispiel facedetect.cpp in OpenCV.
Ich baute es mit keine Fehler, aber wenn ich versuche, führen Sie nicht öffnen Sie die cascade classifier xml-Datei (die CascadeClassifier.load () - Funktion gibt false zurück). Ich habe nichts aus dem Beispiel-Quellcode.
Ich bin mit der xml-Datei, die verteilt wird mit OpenCV, so dass das problem nicht mit der xml-Datei.
Ich habe auch sicher, dass die Anwendung zugreifen können und Lesen Sie die Datei mit einem einfachen fopen.
Ich glaube (aber nicht sicher), dass das problem scheint zu sein, dass die Kaskaden-Klassifikator ist von einem "alten" Typ.
Aber in der OpenCV-Dokumentation es ist ausdrücklich zu verstehen, dass die neue CascadeClassifier Objekt öffnen können, sowohl "alte" und "neue" Kaskade von Klassifikatoren.
Hier ist ein link: http://opencv.itseez.com/modules/objdetect/doc/cascade_classification.html#cascadeclassifier-load
Ich habe sogar versucht, mit den vorkompilierten OpenCV2.2 Binär-und es funktioniert sehr gut mit xml. Und dann habe ich versucht zu kompilieren, die 2,2-sample-source-code, und wieder konnte nicht geladen werden xml.
Ich bin mir bewusst, dass ich versuchen kann, mit dem alten Objekt CvHaarClassifierCascade, aber ich benutze lieber die neueste version von OpenCV und seine Objekte.
Hat jemand eine Ahnung was ich falsch mache?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Geben Sie den vollständigen Pfad der xml-Datei
Sollte es funktionieren!
Hatte ich die gleiche situation. Ich löste es, als ich merkte, dass ich verlinkt bin-release-libs in der Debug-Konfiguration. Ändern
opencv_231*.lib
zuopencv_*231d.lib
hat das problem gelöst.CascadeClassifier::load
ist nicht die einzige Funktion verursacht solche Probleme, siehe diesen thread für details: OpenCV imread(filename) nicht im debug-Modus wenn Sie mit dem release-Bibliotheken.Habe ich diese arbeiten mit notepad++. Ich konvertiert alle relevanten xml-Dateien in ANSI und auch gelöscht, die erste Zeile
<?xml version="1.0"?>
und dann schrieb er von hand.Wenn Sie mit windows haben, dann überprüfen Sie den Pfad. Anliegen ist
Es sollte wie
C:\\Ceemple\\data\\haarcascades\\haarcascade_frontalface_alt.xml
.(übrigens ich bin mit Ceemple IDE)