Beiträge von Discoverer81

    Hallo!

    Bahnhof !!!

    Anyway, ich habe mal versucht was aufzusetzen.

    Ich erhalte dann die Fehlermeldung:

    Habe ich damit "den" Fehler bewiesen oder einen neuen erschaffen ??

    Hallo,

    mach mich nicht fertig.

    Ich habe mich exact daran gehalten.

    Wie kann es da zu unterschiedlichen Ergebnissen kommen?

    Hallo Dennis,

    eigentlich dürfte dein Script gar nicht funktionieren.

    Du benutzt den Pfad

    Code
    "/home/pi/forumtest/opencv/data/haarcascade_frontalface_default.xml")

    Die xml-Datei liegt dort aber gar nicht ab.

    Da ist noch ein Ordner dazwischen, nämlich "haarcascade".

    Andere Frage...welche OpenCV version hast du?

    Hallo,

    wurde bereits installiert.

    Code
    pip3 install smbus

    Ich vermute es liegt an den Pfaden.

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

    Es existiert kein "data"-Ordner und dementsprechend fehlt auch der Rest.

    Daraus ergibt sich die Frage, warum hat Dennis diesen Ordner und ich nicht (unter der Prämisse d. nicht von seiner Anleitung fehlt).

    Interessanterwesei finde ich aber auch kein Ordner mit "OpenCV" ??? (ja, wurde installiert, keine Fehlermeldung, etc, trotzdem, finde ihn auch mit find -name opencv nicht)

    Hall Dennis!

    Danke für deine Mühe des Nachstellens.

    Ich habe meine SD-Karte neu formatiert, System neu aufgesetzt und deine erste Anleitung ohne und mit Änderung der Zeile 21 exakt befolgt.

    Doch meine Fehlermeldung weicht von deiner ab:

    pi@raspberrypi:~/forumtest/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

    Hast du evtl einen Schritt vergessen aufzulisten.

    Sonst weiss ich echt nicht weiter.

    Grüße

    Hallo,

    ich habe ihm gegeben wonach es ihm verlangte.

    Und zwar indem ich den Ordner data/xxx dorthin kopiert habe.

    Der aktuelle Fehler kam von der Kamera:

    pi@raspberrypi:~ $ raspistill -o image.jpg

    Camera control callback cmd=0x4f525245mmal: No data received from sensor. Check all connections, including the Sunny one on the camera board

    ^Cmmal: Aborting program

    Anschlüsse überprüft - das goldene Stück an der Kamera schien das Problem zu sein.

    jetzt klappt das.......ABER...Trommelwirbel.......

    FEHLERMELDUNG!!!!!!!

    Und zwar das bekannte:

    /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


    Bald haue ich mit dem Kopf gegen die Wand.

    Vorschläge? (außer Bandagen zu besorgen?)


    Nachtrag: Vielleicht versteht jemand die chinesische Lösung

    https://programmerwiki.com/article/53252822608/

    Hallo und da bin ich wieder.

    Flexkabel war nicht defekt (für 10 € wieder umsonst bestellt).

    Mir ist leider der Stecker / Pin am Raspberry abgebrochen und somit hatte das Kabel wohl keinen richtigen Kontakt mehr.

    Zum Glück liegt hier immer ein weitere Raspberry rum ;)

    Ok...

    Also, was ist alles seitdem passiert.

    Ich habe mich durch etliche Anleitungen gelesen und in einem chinesischen Forum was entdecken können (Übersetzungsprogramme sind ein graus).

    Also, wieder kompletter Neustart, Anleitung und Korrekturen befolgt.

    Befehl mit python3 zum ausführen gestartet...es passiert nichts.

    Und ich meine gar nichts, keine Fehlermeldung, nix. Er springt weiter um den nächsten Befehl eingeben zu können.

    ??????? Was ist den jetzt los.

    Kameracheck...funktioniert.

    Servotest...funktionieren.

    Wenn ich nur python3 eingebe, erscheint die Versionsnummer (3.7.3), also ist das ja auch da.

    Ideen?


    Ach ja:

    pi@raspberrypi:~ $ sudo python3 cam_pantiltcontrol.py

    python3: can't open file 'cam_pantiltcontrol.py': [Errno 2] No such file or directory

    Datei ist aber definitiv vorhanden (sehe sie mit Dateimanager/Filezilla).


    Grüße


    Lösung: ---Hat sich geklärt---

    Habe die Dateiinhalt geprüft und dieser war leer- Warum auch immer!!!!!!-

    Hallo!

    Sorry, abgeseen davon, dass ich scon fast aufgebe, verstehe ich nicht wirklich.

    Dies ist der aktuelle Code

    Code
    cascPath=os.path.dirname("/home/xxx/opencv/data/haarcascades/haarcascade_frontalface_default.xml"

    und es sollte nun

    Code
    cascPath=os.normpath("/home/xxx/opencv/data/haarcascades/haarcascade_frontalface_default.xml"

    heißen?


    Und was ist mit

    Code
    OpenCV Error: Unknown error code -49 (Input file is empty) in cvOpenFileStorage, file /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/core/src/persistence.cpp, line 4422

    Hier wird doch auch auf einen Ordner verwiesen (der bei mir woanders liegt).

    Wäre es nicht einfacher, die Daten entsprechend dort hineinzukopieren.

    Zum einen, weil ich nicht herausfinde, wo der Pfad angegeben ist, sonst könnte ich ihn ändern.


    Grüße

    RESPEKT Adlerauge!

    Schnel korrigiert doch leider was neues:

    Code
    xxx:~/palt-tilt-cam $ python3 cam_pantiltcontrol.py               
    OpenCV Error: Unknown error code -49 (Input file is empty) in cvOpenFileStorage, file /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/core/src/persistence.cpp, line 4422
    Traceback (most recent call last):
      File "cam_pantiltcontrol.py", line 24, in <module>
        faceCascade = cv2.CascadeClassifier(cascPath)
    cv2.error: /build/opencv-L65chJ/opencv-3.2.0+dfsg/modules/core/src/persistence.cpp:4422: error: (-49) Input file is empty in function cvOpenFileStorage

    Ich habe keinen build Ordner, aber die Datei "persistence.cpp" habe ich gefunden.

    xxx:~ $ find -name persistence.cpp

    ./opencv/modules/core/src/persistence.cpp


    Grüße

    Hallo!

    Habe die Datei angepasst:

    Ergibt:

    Code
    xxx:~/palt-tilt-cam $ python3 cam_pantiltcontrol.py
    
    File "cam_pantiltcontrol.py", line 24
    
    faceCascade = cv2.CascadeClassifier(cascPath)
    
    ^
    
    SyntaxError: invalid syntax

    Hallo Dennis und vielen Dank für deine Hilfe!!!!

    Anbei die Fehlermeldung:

    Code
    xxx:~/palt-tilt-cam $ python3 cam_pantiltcontrol.py
    /usr/lib/python3/dist-packages/home/pi/opencv/data/haarcascades/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

    Und hier die ersten 25 Zeilen:

    Hallo Dennis!

    Danke für die ausführliche Beschreibung.

    Habe den Pfad umbennannt aber am Ende feststellen müssen, dass der Pfadteilweise vorgegeben ist.

    Das Fettgedruckte lässt sich nicht anpassen.

    /usr/lib/python3/dist-packages/home/pi/opencv/data/haarcascades/haarcascade_frontalface_default.xml

    Da /usr/lib,etc schreibgeschützt ist, benötige ich den Befehl "sudo".

    Aber wie lautet der Befehl um dorthin zu kopieren, bzw. wie gebe ich diesen Pfad an?


    Und als Antwort auf den cv2-Punkt:

    print(cv2.__file__)

    >>>

    >>> print(cv2.__file__)

    /usr/lib/python3/dist-packages/cv2.cpython-37m-arm-linux-gnueabihf.so

    >>> print(cv2.__file__)

    /usr/lib/python3/dist-packages/cv2.cpython-37m-arm-linux-gnueabihf.so

    >>>