OpenCV haar training für statisches Bild
Ich versuche zu trainieren, haar-Kaskade classificator für Karten-suite-Erkennung (die keine rotation und keine Verzerrung auf das Bild)
Ich habe zum Beispiel Datei-Clubs.png-die Inhalte clubs Bild auf weißem hintergrund 20x20 Pixel
Dieses tutorial ist so verheddert
http://note.sonots.com/SciSoftware/haartraining.html
Mein Bild variiert nur in der Größe, keine Verzerrung oder Angeln.
Welche Befehle ich eingeben muss in der Ziel zu bekommen Clubs.xml Datei?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als @Neon22 erwähnt, tolle Anleitung. Aus meiner Erfahrung, es ist ein ziemlich langwieriger Prozess(sammeln von positiven und negativen Proben, training, Erzeugung von haar-Kaskade), aber dann wieder, vielleicht war ich etwas falsch.
Für die Erkennung von Karten, kann es nützlich sein, einen Blick auf SURF-OpenCV als gut.
Check-out toxi's video.
Lustig, die Sie erwähnen, Karten, Eugene Zatepyakin hat eine actionscript-port genannt ASSURF:
Wenn Sie daran interessiert, Ihre xml-Datei, dann kann dies helfen
http://nayakamitarup.blogspot.in/2011/07/how-to-make-your-own-haar-trained-xml.html
Aber wenn Sie interessiert sind, macht es die rotation invariant, dann surfen Sie scheint wie eine bessere option.
http://nayakamitarup.blogspot.in/2011/06/2d-ar-using-surf-based-application-of.html
Versuchen, dieses tutorial statt. http://cgi.cse.unsw.edu.au/~cs4411/wiki/index.php?title=OpenCV_Guide
aber das tutorial, Sie zu identifizieren, ist sehr gut. Ich benutzte es, um mein haar classifier aussortiert.
Die facedetect Beispielcode enthalten in opencv 2.1 Verteilung ist ein gutes Beispiel für die überprüfung der resultierenden xml-Datei. (Ich benutze python)
Fand ich mehrere Probleme mit dem mitgelieferten Hilfe applicatoins.
1. createsamples nicht eine Beschreibung Lesen-Datei mit mehr als 8 Proben aus der gleichen image - manuell brechen Ihre Beziehung, die Datei in mehrere Zeilen mit nicht mehr als 8 Rechtecke pro Bild.
Den haar-Ausbildung würde Sie nicht weiter, wenn meine .vec-Datei wurde mit Bildern von Breite und Höhe > 24 Pixel
Haupt-Problem mit dem haar zu sein scheint, dass es nicht invariant zu skalieren und Sie müssen Tausende von test-Bilder - das ist es, was die createsamples Programm wird Ihnen helfen, zu tun, mit einzelnen Bildern, aber nicht, wenn Sie eine Beschreibung der Datei der einzelnen sample-Bilder. Damit die tutorials extra code zu createsamples zu viele Male aufgerufen werden und für die daraus vec-Dateien, die zusammengeführt werden zu einem einzigen super-vec-Datei.
Finden Sie :
http://opencv-hub.blogspot.in/2016/03/how-to-train-your-own-opencv-haar-classifier-haar-training-train-cascade.html
für die Herstellung Ihrer eigenen haar-Kaskade xml-Datei.
Diese OpenCV Tutorial ist auf C++, wo in die Sie erwähnt haben, im detail die Methoden der Haar-Ausbildung.Beachten Sie auch, dass Haar ist nicht die rotation invariant ist.
Also, sobald Sie das Bild drehen, es wird nicht erkannt.
Sie verwenden müssen, um SURFEN zu diesem Zweck.
Aber Objekt-Detektion durch Haar ist viel schneller als das SURFEN.
Wenn Sie möchten, um zu lernen, wie das ausgebildete Haar-Kaskade-Datei, die Sie verweisen können:
http://opencv-hub.blogspot.in/2016/03/how-to-do-real-time-face-detection-using-haar-cascade.html
Der Code von Echtzeit-Gesichtserkennung wäre Analog zu der real-time object detection.