OpenCV 2.0 mit Visual Studio 2008 verwenden

Hier ein “Getting started” Tutorial, um OpenCV2.0 auf Windows 7 mit Visual Studio 2008 zum Laufen zu bekommen.

Herunterzuladen:

- Visual C++ 2008 Express Edition

- OpenCV2.0

OpenCV Installation

Bei der Installation von OpenCV2.0 sollte man auswählen, dass das OpenCV-Verzeichnis (genauer das bin-Verzeichnis – C:\OpenCV2.0\bin) für alle Benutzer der PATH-Variablen hinzugefügt wird. In diesem Order liegen, die DLLs auf die man bei der Verwendung von OpenCV zugreift. Alternativ kann man diesen Pfad auch im Projekt angeben oder die DLLs ins Projektverzeichnis kopieren.

Um OpenCV in eigenen Projekten verwenden zu können, benötigt man die Bibliotheken (.lib – Dateien), die man verwenden möchte. In der Regel benötigt man cv200.lib, cxcore200.lib und highgui200.lib. Diese Bibliotheken werden beim Kompilieren von OpenCV erstellt. Sie unterscheiden sich für verschiedene Versionen von Visual Studio und werden für Visual C++ 2008 NICHT im Installationspaket mitgeliefert. Bevor es losgehen kann, braucht man diese Bibliotheken. Ich habe sie kompiliert und online gestellt:

- OpenCV2.0 Libraries for Visual Studio 2008

Wie man diese Dateien selbst kompiliert, beschreibe ich im Artikel OpenCV2.0 Libraries für Visual Studio 2008 kompilieren.

Die Zip-Datei enthält sowohl die Debug- als auch die Releaseversion der OpenCV-Libraries. Die Debugversion erkennt man daran, dass an jedem Dateinamen ein d angehängt ist – z. B.: cv200d.lib.

Das erste kleine Projekt in OpenCV

- Visual C++ 2008 Express Edition starten

- Neues Projekt anlegen:

- Win32 -> Win32-Konsolenanwendung
- leeres Projekt anklicken

In Screenshots:

Neues Projekt anlegen

Weiter

Leeres Projekt

- Quelldateien: Rechtsklick -> C++-Datei: main.cpp anlegen

Den folgenden Quellecode in main.cpp einfügen:

#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int mainLoop(){
  // define variables
    IplImage *image;
    CvCapture* capture = NULL;

  // capture from camera 0
  capture = cvCaptureFromCAM(0);

    if( !capture )
    {
        fprintf(stderr,"Could not initialize capturing...\n");
        return -1;
    }

    image = cvQueryFrame( capture );
  if( !image ){
    fprintf(stderr,"Could not retrieve first frame...\n");
    return -1;
  }
   
    // create window in top left corner
  cvNamedWindow("Camera", 0);
  cvMoveWindow("Camera", 0, 0);

    for(;;){
    // get one frame from the camera
        image = cvQueryFrame(capture);
   
        cvShowImage("Camera", image);

    int waitKeyReturnValue = cvWaitKey(1);

    // exit on Escape-Key
        if( (char) waitKeyReturnValue == 27 )
            break;
  }

  // clean-up
  cvReleaseCapture(&capture);
  cvDestroyAllWindows();
   
    return 0;
}

int main(int argc, char** argv){
  return mainLoop();
}

- Projekt -> Eigenschaften (Alt+F7) -> Konfigurationseigenschaften -> Linker -> Allgemein -> Zusätzliche Bibliotheksverzeichnisse: hier angeben, wo die lib-Dateien für Debug liegen

- Projekt -> Eigenschaften (Alt+F7) -> Konfigurationseigenschaften -> Linker -> Eingabe -> Zusätzliche Abhängigkeiten: cv200d.lib cxcore200d.lib highgui200d.lib” (Leerzeichen beachten!)

cxcore wird in diesem Beispiel nicht verwendet, aber man braucht es früher oder später doch.

In Screenshots:

Bibliotheksverzeichnis angeben

Bibliotheksverzeichnis angeben

Libraries angeben

Debugging starten (F5)

Nun sollte das Bild der angeschlossenen Kamera auftauchen.

Mit Escape beendet man den Kameratest.

Viel Spaß mit OpenCV!

0 Responses to “OpenCV 2.0 mit Visual Studio 2008 verwenden”


  1. No Comments

Leave a Reply