-         

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 39

Thema: C/C++ Beispielprogramme mit USB Cam und openCV?

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.256
    Anzeige

    Schau dir den Link doch zumindest an.
    Wenn du
    pkg-config --cflags opencv

    ausführst siehst du welche Include Directories du brauchst

    Mit
    pkg-config --libs opencv
    Welche Libraries du brauchst.

    Das ist aber ohne dir zu nahe treten zu wollen Grundwissen was C/C++ Programmierung angehört und das kann man sich eigentlich recht schnell selbst erarbeiten, wenn man nur mal
    kurz eine Suchmaschiene zu dem Thema anwirft.

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.225
    ich habe den Link gelesen, aber ich hatte keine Ahnung was das sollte mit pkg-config --cflags opencv, dass das überhaupt ein Befehl ist, den man dann auch noch eingeben muss, um ein verwertbares Ergebnis zu erhalten!
    Warum geben die nicht einfach die Parameer an, die man braucht???

    Ich nutze auch Geany nur so wie ich auch die Arduino IDE für C verwende, alles andere ist zu hoch für mich.
    Aber dafür gibt es ja IDEs wie Geany.
    Geändert von HaWe (11.03.2017 um 19:10 Uhr)

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.256
    Weil Opencv ein Projekt ist, dass 1. modular aufgebaut ist. D.h. man kann nur das verwenden was man braucht. Das ist für viele embedded Projekte wichtig
    2. ist opencv Plattform übergreifen. Andere Plattformen haben andere Gepflogenheiten wie libraries heißen und vorallem auch wo diese liegen. Unter Windows gibt man z.B. häufig absolute Pfade an
    3. Kann so ein Update von Opencv gemacht werden, das z.B. eine Library in 2 einzelne zerlegt oder weitere hinzufügt und dein Projekt baut immer noch ohne dass du etwas anpassen musst.

    --> Deshalb pkgconfig aus einem Makefile oder via CMake aufrufen.

  4. #14
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.225
    (aufgrund berechtigter Hinweise überarbeitet, s.u. ...)
    Geändert von HaWe (12.03.2017 um 09:57 Uhr)

  5. #15
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    24558
    Alter
    38
    Beiträge
    1.349
    HaWe scheint ja mal wieder angenervt von seinem Projekt zu sein?????

    Normale Menge der Fragezeichen reicht doch auch um eine Frage zu stellen, oder?- sonst zeugt das von (ungezügelter) ungedult und hohem Streßfaktor.
    Natürlich macht es einen das eine oder andere Mal verrückt wenn es nicht läuft, aber daran sieht man vielleicht auch wenn man sich übernommen hat.

    Bitte einen Gang zurückschalten, oder mal anhalten und fünf Minuten durchatmen.

    Habe gern geholfen

    Viele Grüße
    Jörg
    "Es ist schwierig, jemanden dazu zu bringen, etwas zu verstehen, wenn er sein Gehalt dafür bekommt, dass er es nicht versteht" [Upton Sinclair] gez-boykott

  6. #16
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.225
    ja, wo du Recht hast, hast du Recht, ich bin reichlich angenervt von diesen C-Libs mit ihrem ganzen Rattenschwanz von cmake u.ä., der noch hinten dranhängt und die man nicht einfach #includen kann, damit sie eben dann einfach "included" sind und fertig.
    Bei Borland-C und devcpp muss ich mich um cmake u.ä. ja auch nicht kümmern, wenn ich libs #include, und wenn man openCV mit Python verwendet, muss man sich damit ja auch nicht rumschlagen.
    Aber noch mal einen Gang zurück....


    pkg-config --cflags opencv
    -I/usr/include/opencv

    pkg-config --libs opencv
    /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so -lopencv_calib3d /usr/lib/arm-linux-gnueabihf/libopencv_contrib.so -lopencv_contrib /usr/lib/arm-linux-gnueabihf/libopencv_core.so -lopencv_core /usr/lib/arm-linux-gnueabihf/libopencv_features2d.so -lopencv_features2d /usr/lib/arm-linux-gnueabihf/libopencv_flann.so -lopencv_flann /usr/lib/arm-linux-gnueabihf/libopencv_gpu.so -lopencv_gpu /usr/lib/arm-linux-gnueabihf/libopencv_highgui.so -lopencv_highgui /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so -lopencv_imgproc /usr/lib/arm-linux-gnueabihf/libopencv_legacy.so -lopencv_legacy /usr/lib/arm-linux-gnueabihf/libopencv_ml.so -lopencv_ml /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.so -lopencv_objdetect /usr/lib/arm-linux-gnueabihf/libopencv_ocl.so -lopencv_ocl /usr/lib/arm-linux-gnueabihf/libopencv_photo.so -lopencv_photo /usr/lib/arm-linux-gnueabihf/libopencv_stitching.so -lopencv_stitching /usr/lib/arm-linux-gnueabihf/libopencv_superres.so -lopencv_superres /usr/lib/arm-linux-gnueabihf/libopencv_ts.so -lopencv_ts /usr/lib/arm-linux-gnueabihf/libopencv_video.so -lopencv_video /usr/lib/arm-linux-gnueabihf/libopencv_videostab.so -lopencv_videostab



    soll ich den ganzen Kram (obere Zeile plus der ganze untere Rest) jetzt wirklich in die Kommandozeile "Build/Erstellen" eingeben ?


    oder was soll ich jetzt genau machen ?

    -I/usr/include/opencv
    alleine jedenfalls nutzt nichts.

    Kann man den 2. Monster-Block irgendwie vorkompilieren zu einer ständigen ggf. statischen lib, die man künftig und alle kommenden opencv-Zugriffe nur nur noch komplett unverändert #includen und maximal mit mit -lxxxx und/oder -Iyyyy verlinken muss?
    -lxxxx und/oder -Iyyyy lasse ich mir ja noch gefallen, aber mehr darf es wirklich nicht sein!

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.225
    weiß also keiner eine Antwort? scheint doch nicht so einfach lösbar zu sein, und das ist ja nun sogar nur das allersimpelste Beispielprogramm.
    Es war ja auch genau das meine Befürchtung, opencv ist für Neulinge mit C einfach nicht machbar, im Gegensatz zu Python, da läuft es wohl alles wie am Schnürchen.
    Ich denke, es läuft wohl doch auf eine Auftragsarbeit hinaus - wer fühlt sich dazu also überaupt in der Lage?

    Zitat Zitat von HaWe Beitrag anzeigen
    hallo
    fühlt sich jemand in der Lage, C/C++ Beispielprogramme mit USB Cam und openCV samt Installationsanleitungen zu schreiben?

    Die Programme sollen in der Lage sein, z.B.

    Farben auf Bällen zu erkennen
    https://www.youtube.com/watch?v=MWK55A0RH0U

    die Farbverteilungen auf einem Rubik's Cube zu erkennen wie hier
    https://www.facebook.com/groups/lego...6070768207818/

    oder Formen auf Schildern zu erkennen wir hier, um daraf zu reagieren:
    https://www.youtube.com/watch?v=fns19y9NOpM

    alles das ist mit Python wohl recht einfach möglich, es wird aber C/C++ Code benötigt, da alle übrigen (Roboter-)Funktionen ebenfalls in C programmiert werden.
    Es geht auch nur um den openCV-Image-Processing-Teil, nicht um die anschließende Reaktion der Machine/des Roboters.

    (ergänzt: ) die libs und API wrapper müssen allerdings funktionieren per einfachem
    #include <zzzz>
    und verlinken mit simplem
    make g++ plus -lxxxx und /oder -Izzzz
    in einer simplen Kommandozeile, ohne makefile und ohne cmake etc. (also kompatibel zur Geany IDE mit compile/build settings)

    Fühlt sich dazu jemand zunächst einmal grundsätzlich in der Lage?
    Über die Umsetzung (bezahlt oder ntl gern als Freeware) kann man dann anschließend reden, und ich helfe ntl jederzeit gerne im Rahmen meiner Anfänger-Kenntnisse mit!)

    und, wie gesagt, ganz wichtig:
    es muss mit der Geany IDE laufen, denn damit programmiere ich auch die eigentlichen Anwendungsprogramme.

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.06.2009
    Beiträge
    1.256
    Doch alle Informationen die du benötigst wurden dir servier fertig geliefert. Wenn du jedoch nicht bereit bist dich in die Grundlagen der C/C++ Entwicklung unter Linux einzuarbeiten und gleichzeitig, wie die meisten Anfänger meinen eine für sie optimalere Sonderlösung zu verwenden, kann man dir leider auch nicht helfen.

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    2.225
    Zitat Zitat von shedepe Beitrag anzeigen
    Doch alle Informationen die du benötigst wurden dir servier fertig geliefert. Wenn du jedoch nicht bereit bist dich in die Grundlagen der C/C++ Entwicklung unter Linux einzuarbeiten und gleichzeitig, wie die meisten Anfänger meinen eine für sie optimalere Sonderlösung zu verwenden, kann man dir leider auch nicht helfen.
    deine ersten Tipps in Ehren, aber das stimmt nicht:
    es funktioniert nicht mit den von dir "servierfertigen" Parametern!

    g++ -Wall -pthread -o "camtest" "camtest.c" -lwiringPi -lrt -I/usr/include/opencv (im Verzeichnis: /home/pi/programs/cam)
    /tmp/ccfVGq5n.o: In function `main':
    camtest.c:(.text+0x68): undefined reference to `cv::VideoCapture::VideoCapture()'
    camtest.c:(.text+0x78): undefined reference to `cv::VideoCapture::open(int)'
    camtest.c:(.text+0x110): undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
    camtest.c:(.text+0x124): undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
    camtest.c:(.text+0x144): undefined reference to `cv::waitKey(int)'
    camtest.c:(.text+0x198): undefined reference to `cv::VideoCapture::~VideoCapture()'
    camtest.c:(.text+0x1dc): undefined reference to `cv::VideoCapture::~VideoCapture()'
    camtest.c:(.text+0x1f0): undefined reference to `cv::VideoCapture::operator>>(cv::Mat&)'
    /tmp/ccfVGq5n.o: In function `cv::Mat::~Mat()':
    camtest.c:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x3c): undefined reference to `cv::fastFree(void*)'
    /tmp/ccfVGq5n.o: In function `cv::Mat::release()':
    camtest.c:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x58): undefined reference to `cv::Mat::deallocate()'
    Kompilierung fehlgeschlagen.
    collect2: error: ld returned 1 exit status


    und auch
    g++ -Wall -pthread -o "camtest" "camtest.c" -lwiringPi -lrt $(pkg-config --cflags --libs opencv)
    ergibt sogar nur die Fehlermeldung
    g++ error: unrecognized command line option "--l/usr/include/opencv"


    von servierfertig kann also keine Rede sein.


    Aber ich bin ja auch nicht der erste, der es nicht zum Laufen kriegt, und ich verwette mein linkes Bein, dass noch nicht einmal du es schaffst, mit den von dir selber gegebenen Infos selbst das erste simple Basisprogramm zum Laufen zu kriegen: vor allem müsstest du dir dazu auch schon die Mühe machen, es selber mit Geany auf einem Pi mit Jessie auszutesten.
    Es wird aber so nicht gehen, wetten?

    Aber selbst wenn man es mit ein paar (noch offenen) Zusatztricks schaffen sollte, damit ist das Problem ja noch nicht gelöst, denn jetzt fängt es ja erst an: Es geht ja eigentlich um die Farb- und Mustererkennung (wie in den youtube Videos mit Python) , die ich brauche.

    Und daher meine Frage nach einer Auftragarbeit (s.o.).

  10. #20
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    32
    Beiträge
    2.288
    oh ich weis ich sollte es nicht schreiben, aber dennoch:
    Grundlagen der C/C++ Entwicklung
    dazu gehört auch ein wenig gesunder Menschenverstand und die Fähigkeit eine Fehlermeldung zu verstehen. (ich meine damit nicht die Bedeutung der Meldung an sich, sondern den Kontext und was man machen kann um es zu verstehen .. dazu gehört auch das richtige googeln)

    Dein Compiler gibt dir mit der ersten Meldung ausführlich zu verstehen, dass er nicht in der Lage ist die genannten Methoden/Funktionen zu finden. Ich würde jetzt kurzerhand mit grep über die Sources von OpenCV gehen und versuchen raus zu finden wo denn die geforderten Aufrufe zu finden sind und die includes zu ergänzen.

    Der 2te Fehler jedoch vermittelt mir den Eindruck, als ob sich deine Sources garnicht im richtigen Pfad befinden oder dein Geany davon ausgeht dass DU die notwendigen Resourcen in einem Projektspezifischen Ordner zur Verfügung stellst.

    Dir mangelt es an Grundlagenverständnis, welches du dir wohl oder übel anlernen musst, oder du wirst ewig abhängig davon sein, dass andere deine (entschuldige den Begriff, es ist nicht bös gemeint aber beschreibt es am besten) verdrehten Einstellungen/Makefiles deiner Entwicklungsumgebung repariert.

    KORREKTUR: Der 2te Fehler weist auf ein generelles Problem mit dem Makefile hin
    Geändert von Ceos (13.03.2017 um 14:04 Uhr)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Ähnliche Themen

  1. suche Beispielprogramme für den RP6
    Von enni im Forum Robby RP6
    Antworten: 10
    Letzter Beitrag: 02.01.2009, 18:28
  2. Beispielprogramme? Anfänger
    Von jojo.glaser im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 17.06.2006, 10:11
  3. Beispielprogramme für C
    Von solo im Forum Robby CCRP5
    Antworten: 6
    Letzter Beitrag: 14.02.2005, 19:06
  4. Beispielprogramme zur LPT1 Programmierung
    Von Sokrates87 im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 07.01.2005, 19:57
  5. erklärung der beispielprogramme
    Von xandl33 im Forum Robby CCRP5
    Antworten: 6
    Letzter Beitrag: 03.05.2004, 02:51

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •