Face Tracking mit OpenCV und Pan-Tilt-Hat

  • Hallo!


    Gerne hätte ich die Vorlage aus dem beiliegenden Link nachgestellt.

    Leider kommen Fehler auf Fehler.


    https://nguyenrobot.medium.com…y-and-opencv-d449cd1ac282


    Ich habe OpenCV nach einigen Schwierigkeiten installieren können.


    Das Pan-Tilt-HAT-Gerüst von Waveshare ging auch ohne Probleme.



    Anschließend habe ich die Daten heruntergeladen.

    sudo git clone https://github.com/v-thiennp12/palt-tilt-cam


    Ausgeführt habe ich


    cd palt-tilt-cam


    python 3 cam_pantiltcontrol.py


    Fehlermeldung:


    /home/pi/.local/lib/python3.7/site-packages/cv2/data/haarcascade_frontalface_default.xml

    Traceback (most recent call last):

    File "cam_pantiltcontrol.py", line 55, in <module>

    pwm = PCA9685()

    File "/home/pi/palt-tilt-cam/PCA9685.py", line 36, in __init__

    self.write(self.__MODE1, 0x00)

    File "/home/pi/palt-tilt-cam/PCA9685.py", line 40, in write

    self.bus.write_byte_data(self.address, reg, value)

    OSError: [Errno 5] Input/output error



    Im Netzt finde ich keineneindeutigen Hinweis.


    Irgendeine Idee?


    Grüße

  • Hallo.


    Habe leider nochmal neu gestartet und komme bei OpenCV wieder nicht weiter.

    Jede installationsanweisung die ich finde bringt nur Fehlermeldungen auf.

    @ Leroy: Kann deinen Tipp daher leider nicht befolgen.


    Starte Montag den erneuten Versuch

  • Hallo, da bin ich wieder.


    Ein kompletter Neustart mit neuer Motivation hat weitergeholfen.

    Ich konnte OpenCv erfolgreich installieren.


    Ganz einfach, nur mit

    Code
    sudo apt-get install python-opencv

    Ohne weitere libaries oder anderen Gedöns, und ja nur unter python.

    Aber das hat geholfen!



    Nun schnell den Ordner zu dem Projekt heruntergeladen:


    https://github.com/v-thiennp12/palt-tilt-cam



    und das Skript gestartet.

    Code
    python cam_pantiltcontrol.py


    Leider erhielt ich trotzdem eine Fehlermeldung:


    xxx:~/palt-tilt-cam $ python cam_pantiltcontrol.py

    /usr/lib/python2.7/dist-packages/data/haarcascade_frontalface_default.xml

    OpenCV Error: Assertion failed (!empty()) in detectMultiScale, file /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/objdetect/src/cascadedetect.cpp, line 1681

    Traceback (most recent call last):

    File "cam_pantiltcontrol.py", line 110, in <module>

    faces = faceCascade.detectMultiScale(gray,scaleFactor=1.2, minNeighbors=4, minSize=(30, 30), flags=cv2.CASCADE_SCALE_IMAGE)

    cv2.error: /build/opencv-L65chJ/openc


    Was genau fehlt?


    Grüße und danke vorab

  • `gray` ist an der Stelle, aus welchen Gründen auch immer, leer. Der Code prüft halt auch gar nicht ob `video_capture.read()` erfolgreich ein Bild lesen konnte.


    Python 2 sollte man übrigens nicht mehr verwenden.

    “If debugging is the process of removing software bugs, then programming must be the process of putting them in.” — Edsger Dijkstra

  • Hallo,


    Es ist wie beim Kochen, beim ersten Mal befolgt man das Rezept, dann verfeinert man.


    Ich befolge die Anleitungen, wie sie da sind um möglichst keine Fehler zu haben.

    Das keine der blöden Anleitungen funktioniert...tja.

    Wenn ich erstmal das Ding am laufen habe (weiss, was zu tun ist), dann kann ich alles mit Python3 laufen lassen.

    Nur noch 4 Tage Zeit für dieses Projekt. Sieht schlecht aus.

    • Official Post

    Das keine der blöden Anleitungen funktioniert...tja.

    Dann ist der erste Ansprechpartner derjenige, der die Anleitungen verfasst hat. Bei diesem scheint zum Zeitpunkt des Verfassens und in seiner Entwicklerumgebung die Anleitung ja zu funktionieren.

  • Hallo,


    in der Projektbeschreibung wird auch Python3 empfohlen.

    Install Python, version 3 is recommended


    Eventuell hast du den Fehler, weil du nicht Python3 verwendest. Ich würde mich genau an die Anleitung halten, vielleicht hilft das.


    Grüße

    Dennis

    ... ob's hinterm Horizont wirklich so weit runter geht oder ob die Welt vielleicht doch gar keine Scheibe ist?

  • Hallo,


    Ich komme echt nicht weiter.

    Nichts klappt wirklich mit dieser "besch" OpenCV.


    Was ist denn nun richtig?

    pip install opencv-contrib-python
      oder

    pip3 install opencv-contrib-python?


    Alle Anleitung die ich gefundne habe nutzen "pip".

    Mache ich das aber, kommt hier im Forum "Nein, nicht python2 benutzen,..."

    Was denn jetzt?


    Und kennt irgendjemand hier eine vernünftige Anleitung OpenCV zu installieren die auch funktioniert?

    Das kann doch echt nicht so schwer sein.



    Grüße


  • Hallo hyle,


    bitte erlaube mir dann folgende Frage:


    Warum klappt dies nicht?

    Um zu präzisieren, nur mit python wird das cv2 modul gefunden.

    Sobald ich python3 nehme, klappt dies nicht.

  • Gegenfrage, was ist:

    klappt dies nicht

    ?


    Mit pip habe ich auch so meine Probleme opencv zu installieren, aber mit dem in #12 genannten Befehl scheint es zu funktionieren.


    Vielleicht sollte ich aber auch mal ein neues Testsystem installieren, weil das aktuelle hier schon viele Tests für das Forum durchmachen musste.

  • Hallo hyle und DANKE!!!!


    Ja, es stimmt... sudo apt install python3-opencv ..funktioniert.

    Es kommt zu keiner Fehlermeldung und wird gefunden.

  • ok, zu früh gefreut :(


    Neue Fehlermeldung beim Ausüben der Vorlage: https://github.com/v-thiennp12/palt-tilt-cam


    python3 cam_pantiltcontrol.py



    /usr/lib/python3/dist-packages/data/haarcascade_frontalface_default.xml

    OpenCV Error: Assertion failed (!empty()) in detectMultiScale, file /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/objdetect/src/cascadedetect.cpp, line 1681

    Traceback (most recent call last):

    File "cam_pantiltcontrol.py", line 121, in <module>

    faces = faceCascade.detectMultiScale(gray,scaleFactor=1.2, minNeighbors=4, minSize=(30, 30), flags=cv2.CASCADE_SCALE_IMAGE)

    cv2.error: /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/objdetect/src/cascadedetect.cpp:1681: error: (-215) !empty() in function detectMultiScale

  • Sieht für mich wie der Fehler aus Beitrag 6 aus?


    Die Rahmenbedingungen drum rum stimmen? Die Kamera an sich funktioniert?



    Grüße

    Dennis

    ... ob's hinterm Horizont wirklich so weit runter geht oder ob die Welt vielleicht doch gar keine Scheibe ist?

  • Hallo,


    hier mal der gesamte Befehl. Bestimmt seht ihr, was mir entgeht.

  • Hallo,


    nur mal so eine Annahme, hier wird auf einen Pfad verwiesen "/usr/lib/python3/dist-packages/data/haarcascade_frontalface_default.xml".

    Diesen kann ich nicht finden (stoppt nach dist-packages).

    Ich finde auch nicht den OpenCV-Pfad.


    Daher, zurSicherheit; Nachdem ich openCV instaliert habe (sudo apt install python3-opencv), muss dann noch etwas gemacht werden?

    Im Netz finde ich teilwesie die Verwendung von build & make.


    Andererseits erhalte ich bei Versionsabfrage von cv2 die Antwort "3.2.0"

    import cv2

    cv2.__version__

    '3.2.0'