Haar Training: Fehler (-215) _img.row * _img.cols == vecSize in Funktion

Ich versuche, eine Haar-Kaskade zu trainieren, um Hände zu erkennen. Ich habe eine vec Datei von Größe 1000. Ich habe 40 positive Bilder und 600 negative Bilder. Ich habe versucht, meine positiven Bilder und negative Bilder zu fallen. Wenn ich den folgenden Befehl ausführe, bekomme ich folgende Fehlermeldung:

opencv_traincascade -data classifier -data classifier -vec samples.vec -bg negatives.txt -numstages 20 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 1000\ -numNeg 600 -w 80 -h 40 -mode ALL -precalcValBufSize 1024\ -precalcIdxBufSize 1024 

 PARAMETERS: cascadeDirName: classifier vecFileName: samples.vec bgFileName: negatives.txt numPos: 1000 numNeg: 1000 numStages: 20 precalcValBufSize[Mb] : 256 precalcIdxBufSize[Mb] : 256 stageType: BOOST featureType: HAAR sampleWidth: 24 sampleHeight: 24 boostType: GAB minHitRate: 0.999 maxFalseAlarmRate: 0.5 weightTrimRate: 0.95 maxDepth: 1 maxWeakCount: 100 mode: BASIC ===== TRAINING 0-stage ===== <BEGIN OpenCV Error: Assertion failed (_img.rows * _img.cols == vecSize) in get, file /home/lie/Desktop/Install-OpenCV-master/Ubuntu/2.4/OpenCV/opencv-2.4.9/apps/traincascade/imagestorage.cpp, line 157 terminate called after throwing an instance of 'cv::Exception' what(): /home/lie/Desktop/Install-OpenCV-master/Ubuntu/2.4/OpenCV/opencv-2.4.9/apps/traincascade/imagestorage.cpp:157: error: (-215) _img.rows * _img.cols == vecSize in function get 

Abgebrochen (Core entleert)

Ich versuchte, meine positive Zählung zu senken und den ganzen Prozess wieder zu machen und erhielt immer den gleichen Fehler. Irgendwelche Vorschläge?

Übrigens: Ich folge dem Tutorium unter: http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html

Vielen Dank

  • Zugriff auf Ximea API über OpenCV in Python
  • Passiere das OpenCV-Bild zu KNearests find_nearest
  • Kompatibilitätsproblem mit contourArea in openCV 3
  • Vektorisierung von Fotos: Finden eines angepassten Algorithmus
  • Senden von Live-Video-Frame über Netzwerk in python opencv
  • Konvertieren Sie RGB-Bild zum Indexbild
  • Wie bekomme ich das Bild von Video mit opencv python
  • IP-Kamera Python-Fehler
  • 2 Solutions collect form web for “Haar Training: Fehler (-215) _img.row * _img.cols == vecSize in Funktion”

    Der Fehler scheint kein Ergebnis einer großen Anzahl von positiven oder negativen Proben zu sein. Die Leute trainieren sehr große Datensätze!

    Aus den oben beschriebenen Parametern kann festgestellt werden, dass die Dimension der positiven Proben, die die samples.vec bilden, 24×24 ist, was durch die Anweisung bezeichnet wird:

     sampleWidth: 24 sampleHeight: 24 

    Aber während opencv_traincascade Funktion opencv_traincascade , versuchst du, die Dimension als 80×40 einzustellen. Versuchen Sie, dies zu ändern -w 24 -h 24

    Die Behauptung ist ganz klar: Es erwartet, dass _img.rows * _img.cols == vecSize. Ich weiß nicht, was _img und vecSize sein sollen, aber das bedeutet, dass Ihre Eingabedaten nicht korrekt gegeben sind. Sie sehen nur Ihre Kommandozeile an: Sie:

    1. Schrieb -data classifier -data classifier zweimal. Das sollte doch kein Problem sein.
    2. Schrieb -numPos 1000\ -numNeg 600 , während du über 40 positive und 600 negative Bilder -numPos 1000\ -numNeg 600 , also solltest du diese Figuren nicht benutzen?

    Sie sagen, Sie haben eine vecSize von Größe 1000. Was ist diese vecSize für wieder?

    Python ist die beste Programmiersprache der Welt.