- LiFePO4 Speicher Test    Werbung      
Ergebnis 1 bis 10 von 39

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

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    HaWe
    Gast
    hey, nein, schon richtig: für den Pi, also für Linux.

    Habe es so gemacht, USB cam eingestöpselt, und das allererste Programm versucht zu erstellen,

    Code:
    #include "opencv2/opencv.hpp"
    using namespace cv;
    int main(int argc, char** argv)
    {
        VideoCapture cap;
        // open the default camera, use something different from 0 otherwise;
        // Check VideoCapture documentation.
        if(!cap.open(0))
            return 0;
        for(;;)
        {
              Mat frame;
              cap >> frame;
              if( frame.empty() ) break; // end of video stream
              imshow("this is you, smile! :)", frame);
              if( waitKey(10) == 27 ) break; // stop capturing by pressing ESC 
        }
        // the camera will be closed automatically upon exit
        // cap.close();
        return 0;
    }

    per Geany compile/build settings wie hier angegeben, aber tonnenweise errors:
    Code:
    g++ -Wall -pthread -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -o "camtest" "camtest.c" -lshapes -L/opt/vc/lib -lOpenVG -lEGL -lwiringPi -lrt -lpigpio -lArduiPi_OLED  (im Verzeichnis: /home/pi/programs/cam)
    
    /tmp/ccQSKrEJ.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/ccQSKrEJ.o: In function `cv::Mat::~Mat()':
    camtest.c:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x3c): undefined reference to `cv::fastFree(void*)'
    /tmp/ccQSKrEJ.o: In function `cv::Mat::release()':
    camtest.c:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x58): undefined reference to `cv::Mat::deallocate()'
    collect2: error: ld returned 1 exit status
    Kompilierung fehlgeschlagen.
    wo soll man jetzt anfangen?
    Sicher fehlen schon mal eine ganze Menge compile/build parameter.
    Aber welche?
    Geändert von HaWe (11.03.2017 um 12:46 Uhr)

  2. #2
    shedepe
    Gast
    Opencv empfiehlt, dass man CMake als Buildsystem verwendet.
    Eine einfache CMakeLists.txt dazu sieht so aus:

    Code:
    cmake_minimum_required(VERSION 2.8)
    project( DisplayImage ) 
    find_package( OpenCV REQUIRED )
    include_directories( ${OpenCV_INCLUDE_DIRS} )
    add_executable( DisplayImage DisplayImage.cpp )
    target_link_libraries( DisplayImage ${OpenCV_LIBS} )
    http://docs.opencv.org/3.1.0/db/df5/...gcc_cmake.html

    Bei Project trägt man den Namen des Projects ein.
    Bei Add Executable trägt man 1. Den Namen der ausführbaren Datei ein die bei rauskommen soll und 2. Alle cpp Files die verwendet werden soll um diese Executable zu bauen.
    Bei TargetLinkLibraries trägt man 1. Den Namen der Executable ein und 2. Alle Libraries gegen die man linken will.
    OpenCV wird automatisch durch
    find_package( OpenCV REQUIRED ) gefunden.

  3. #3
    HaWe
    Gast
    cmake kann ich nicht, habe ich nicht und verstehe ich auch nicht.
    makefile übrigens auch nicht.
    Ich verwende ausschließlich Geany, hier kann man ja auch die compile- und die build-Parameter eingeben.
    Mit Geany muss es also schon funktionieren.

  4. #4
    shedepe
    Gast
    Ja kann es.
    Dann musst du dir halt von pkgconfig die Flags geben lassen:
    http://image.diku.dk/mediawiki/index.php/OpenCV

    Ich würde trotzdem zu einem richtige Buildsystem (Sei es nur ein Makefile) raten, anstatt direkt aus dem Editor den Compiler aufzurufen. Buildsystem haben grade beim Auflösen vom Abhängigkeiten vorteile

  5. #5
    HaWe
    Gast
    Dann musst du dir halt von pkgconfig die Flags geben lassen:
    da hört das Verständnis schon bei mir auf.
    welche Flags sind das?
    In dem Link sehe ich die Bäume vor lauter Buchstabenwald nicht... Bild  

    ich werde auch leider totsicher bei Geany bleiben müssen, denn make, makefile und cmake übersteigen meine kognitiven Fähigkeiten...
    es soll im Prinzip alles aus der Geany IDE heraus möglich sein, ohne diese integrierten Compile- und Build-Funktionen bin ich restlos verloren (und dazu ist die Geany IDE ja auch da, genau wie eine stark abgespeckte Eclipse oder Visual C Studio -IDE...)
    Geändert von HaWe (11.03.2017 um 13:07 Uhr)

  6. #6
    HaWe
    Gast
    kann jemand helfen, welche Parameter oder flags man eingeben muss?
    sowas in der Art wie -lopencv oder was noch oder was auch immer?

  7. #7
    shedepe
    Gast
    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.

  8. #8
    HaWe
    Gast
    ja, sieht so aus - ich habe dazu eine Meldung von Heise gefunden:
    https://www.heise.de/developer/meldu...t-2679528.html

Ähnliche Themen

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

Berechtigungen

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

    Werbung      Solar Speicher und Akkus Tests