23
Universit ¨ at Bielefeld Angewandte Informatik Was ist OpenCV? Aufbau von OpenCV OpenCV und IceWing Arbeiten mit OpenCV OpenCV - Open Source Computer Vision Niklas Beuter und Christian Lang 6. Mai 2009 OpenCV - Open Source Computer Vision 1

OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

OpenCV-

Open Source Computer Vision

Niklas Beuter und Christian Lang

6. Mai 2009

OpenCV - Open Source Computer Vision 1

Page 2: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

Vorteile von OpenCV

Ubersicht

1 Was ist OpenCV?Vorteile von OpenCV

2 Aufbau von OpenCVAufbauModulubersichtBeispiel

3 OpenCV und IceWingOpenCV einbindenBeispielUnterschiede Icewing — OpenCV

4 Arbeiten mit OpenCVDatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

OpenCV - Open Source Computer Vision 2

Page 3: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

Vorteile von OpenCV

Was ist OpenCV?

OpenCV:I entwickelt von Intel seit 1999I geschrieben in C/C++, optimiert fur EchtzeitanwendungenI unabhangig von Betriebssystem, Hardware und

WindowmanagerI Optimierung durch Verwendung von Intel IPP moglichI mehr als 500 Funktionen fur Foto- und Videoverarbeitung,

Laden und SpeichernI Weit verbreitet in Forschungseinrichtungen und

UnternehmenI Aktuelle offiziele Version: 1.0 (2006)I neueste (Entwickler-) Version uber Sourceforge verfugbar

OpenCV - Open Source Computer Vision 3

Page 4: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

Vorteile von OpenCV

Warum OpenCV?

I Geschwindigkeit / EchtzeitfahigkeitI sehr schnelle ImplementierungenI dafur teilweise schwer verstandlicher Source CodeI fur Verwendung aber i.d.R. Anschauen des Source Codes

nicht notigI große Anzahl von Standardalgorithmen verfugbarI frei verfugbar (Open Source)I Leichte Anbindung an IceWing moglich

OpenCV - Open Source Computer Vision 4

Page 5: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Module von OpenCV

OpenCV - Open Source Computer Vision 5

Page 6: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Modulubersicht

Vision (“cv”):I Grundlegende Bildverarbeitung (Filter, geometrische

Transformationen, Farbraumumwandlungen)I Bildanalyse (Featureauswahl, Morphologische

Operationen, Konturverfolgung, Histogramme)I Strukturelle Analyse (Formfaktoren, Planare

Unterteilungen / Segmentierung)I Bewegungsanalyse und ObjektverfolgungI Objekt-/GesichtserkennungI Kamerakalibrierung und Teile von 3D Rekonstruktion

OpenCV - Open Source Computer Vision 6

Page 7: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Modulubersicht

Kernfunktionalitat (“cxcore”):I Einfache Operationen auf ArraysI Matrixoperationen, mathematische FunktionenI DFTI XMLI Zeichenfunktionen (2D–Graphik)I Komplexe Datenstrukturen: sparliche Matrizen,

Wachsende Sequenzen, GraphenI “cxcore” teilweise auch von der “Intel Open Source

Probabilistic Network Library” benutzt

OpenCV - Open Source Computer Vision 7

Page 8: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Modulubersicht

IO/GUI (“highgui”)I Aufnahme und Wiedergabe von Bildern und VideosI Einfache (!) GUI mit NutzerinteraktionenI alle OpenCV–Beispiele mit GUI benutzen HighGUI

OpenCV - Open Source Computer Vision 8

Page 9: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Modulubersicht

Experimentelle Funktionen (“cvaux”):I 3D Vision: Stereo Kalibrierung, ...I Stereo Korrespondierung, GraphenverbindungenI Gesichtsdetailerkennung und -trackingI Shape matching, skeletons ...I HMMsI Texturen

OpenCV - Open Source Computer Vision 9

Page 10: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Beispiele

OpenCV - Open Source Computer Vision 10

Page 11: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Ein einfaches Programmbeispiel

sample1.cpp#include <cv.h>#include <highgui.h>

int main (int argc, char** argv) {

IplImage* image;if (argc != 2 )

return -1;image = cvLoadImage(argv[1]);if (!image)

return -1;cvNamedWindow("Sample",1);cvShowImage("Sample",image);cvWaitKey();cvReleaseImage(&image);cvDestroyWindow("Sample");return 0;

}

OpenCV - Open Source Computer Vision 11

Page 12: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

AufbauModulubersichtBeispiel

Ein einfaches Programmbeispiel

sample2.cpp#include <cv.h>

#include <highgui.h>

IplImage* image = 0;

void cb_slider (int thresh) {

IplImage* gray = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,1);

cvCvtColor(image,gray,CV_BGR2GRAY);

cvThreshold(gray,gray,thresh,255,CV_THRESH_BINARY);

CvSeq* contours = 0;

CvMemStorage* storage = cvCreateMemStorage(0);

cvFindContours(gray,storage,&contours);

cvSetZero(gray);

if (contours)

cvDrawContours(gray,contours,cvScalarAll(255),

cvScalarAll(255),100);

cvShowImage("Contours",gray);

cvReleaseImage(&gray);

cvReleaseMemStorage(&storage);

}

int main( int argc, char** argv ) {

if (argc != 2 || !(image = cvLoadImage(argv[1]))) return -1;

cvNamedWindow("Contours",1);

int thresh = 100;

cvCreateTrackbar("Threshold","Contours",&thresh,255,cb_slider);

cb_slider(thresh);

cvWaitKey();

return 0;

}

OpenCV - Open Source Computer Vision 12

Page 13: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

OpenCV einbindenBeispielUnterschiede Icewing — OpenCV

OpenCV mit iceWing verwenden

IceWing Plugin generierenexport PATH=/vol/ai/releases/hardy/bin:$PATHexport PKG_CONFIG_PATH=/vol/ai/releases/hardy/lib/pkgconfig:$PKG_CONFIG_PATHicewing-plugingen -cpp OpenCVTestPlugin

OpenCV im MakefileOPENCV_CFLAGS = ‘pkg-config opencv --cflags‘OPENCV_LDFLAGS = ‘pkg-config opencv --libs-only-L‘OPENCV_LIBS = ‘pkg-config opencv --libs-only-l‘OPENCV_LIBDIR = ‘pkg-config opencv --variable=libdir‘CXXFLAGS += $(OPENCV_CFLAGS)LDFLAGS += $(OPENCV_LDFLAGS) -Wl,--rpath,$(OPENCV_LIBDIR) $(OPENCV_LIBS)

Include header files im Plugin#include "tools/opencv.h" // IceWing OpenCV support#include <cv.h>#include <cvaux.h>#include <highgui.h>#include <cxcore.h> // unnecessary - included in cv.h

OpenCV - Open Source Computer Vision 13

Page 14: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

OpenCV einbindenBeispielUnterschiede Icewing — OpenCV

OpenCV mit iceWing verwenden

Kompilieren und Linken wie ublichmake clean; [make depend;] make;

IceWing Aufruficewing -sg V -l ./libopencvtestplugin.so

“opencv.h“ iceWing headervoid iw_opencv_render (prevBuffer *b, const IplImage *img, iwColtab ctab);IplImage* iw_opencv_from_img (const iwImage *img, BOOL swapRB);iwImage* iw_opencv_to_img (const IplImage *img, BOOL swapRB);iwImage* iw_opencv_to_img_interleaved (const IplImage *img, BOOL swapRB);

OpenCV - Open Source Computer Vision 14

Page 15: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

OpenCV einbindenBeispielUnterschiede Icewing — OpenCV

Ein einfaches Beispiel–Plugin

OpenCV pluginbool OpenCVTestPlugin::Process (char *ident, plugData *data) {

IplImage* image = 0;iwImage* img = &((grabImageData*)data->data)->img;image = iw_opencv_from_img(img,true);IplImage* gray = cvCreateImage(cvGetSize(image),IPL_DEPTH_8U,1);CvMemStorage* storage = cvCreateMemStorage(0);cvCvtColor(image,gray,CV_BGR2GRAY);cvThreshold(gray,gray,value,255,CV_THRESH_BINARY);CvSeq* contours = 0;cvFindContours(gray,storage,&contours);cvSetZero(gray);if (contours)

cvDrawContours(gray,contours,cvScalarAll(255),cvScalarAll(255),100);iw_opencv_render(b_image,gray,IW_GRAY);prev_draw_buffer(b_image);if (image) cvReleaseImage(&image);if (gray) cvReleaseImage(&gray);cvReleaseMemStorage(&storage);return TRUE;

}

OpenCV - Open Source Computer Vision 15

Page 16: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

OpenCV einbindenBeispielUnterschiede Icewing — OpenCV

IceWing–Bildformat vs. OpenCV–Bildformat

I Standard–Bildverwendung unterscheidet sich zwischenIceWing und OpenCV

I OpenCV (IplImage)

I Pixel im gleichen Speicherbereich.Farben hintereinander

I IceWing (iwImage)

I Plane orientierteSpeicherverwaltung

I Jede plane hat die Große desBildes

I Konvertierungsroutinen zum Umwandeln

OpenCV - Open Source Computer Vision 16

Page 17: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

DatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

Datenstrukturen

OpenCV ImageIplImage

|-- int nChannels; // Number of color channels (1,2,3,4)|-- int depth; // Pixel depth in bits:| // IPL_DEPTH_8U, IPL_DEPTH_8S,| // IPL_DEPTH_16U,IPL_DEPTH_16S,| // IPL_DEPTH_32S,IPL_DEPTH_32F,| // IPL_DEPTH_64F|-- int width; // image width in pixels|-- int height; // image height in pixels|-- char* imageData; // pointer to aligned image data| // Note that color images are stored in BGR order|-- int dataOrder; // 0 - interleaved color channels,| // 1 - separate color channels| // cvCreateImage can only create interleaved images|-- int origin; // 0 - top-left origin,| // 1 - bottom-left origin (Windows bitmaps style)|-- int widthStep; // size of aligned image row in bytes|-- int imageSize; // image data size in bytes = height*widthStep

OpenCV - Open Source Computer Vision 17

Page 18: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

DatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

Datenstrukturen

OpenCV MatrixCvMat // 2D array

|-- int type; // elements type (uchar,short,int,float,double) and flags|-- int step; // full row length in bytes|-- int rows, cols; // dimensions|-- int height, width; // alternative dimensions reference|-- union data;

|-- uchar* ptr; // data pointer for an unsigned char matrix|-- short* s; // data pointer for a short matrix|-- int* i; // data pointer for an integer matrix|-- float* fl; // data pointer for a float matrix|-- double* db; // data pointer for a double matrix

OpenCV - Open Source Computer Vision 18

Page 19: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

DatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

Datenstrukturen

OpenCV N–dimensionale MatrixCvMatND // N-dimensional array

|-- int type; // elements type (uchar,short,int,float,double) and flags|-- int dims; // number of array dimensions|-- union data;| |-- uchar* ptr; // data pointer for an unsigned char matrix| |-- short* s; // data pointer for a short matrix| |-- int* i; // data pointer for an integer matrix| |-- float* fl; // data pointer for a float matrix| |-- double* db; // data pointer for a double matrix||-- struct dim[]; // information for each dimension

|-- size; // number of elements in a given dimension|-- step; // distance between elements in a given dimension

OpenCV - Open Source Computer Vision 19

Page 20: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

DatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

Zugriff auf den Bildinhalt

k = channel; i = row; j = column;

Indirekt — ineffizient, aber sicherIplImage* img = cvCreateImage(cvSize(640,480),IPL_DEPTH_32F,3);CvScalar s = cvGet2D(img,i,j); // get the (i,j) pixel valueprintf("B=%f, G=%f, R=%f\n",s.val[0],s.val[1],s.val[2]);s.val[0] = 111;s.val[1] = 112;s.val[2] = 113;cvSet2D(img,i,j,s); // set the (i,j) pixel value

Direkt — effizient, aber fehleranfalligIplImage* img = cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,3);((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 0] = 111; // B((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 1] = 112; // G((uchar *)(img->imageData + i*img->widthStep))[j*img->nChannels + 2] = 113; // R

OpenCV - Open Source Computer Vision 20

Page 21: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

DatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

Zugriff auf den Bildinhalt

k = channel; i = row; j = column;

Pointer — effizient, aberimmer noch fehleranfalligIplImage* img = cvCreateImage(cvSize(640,480),

IPL_DEPTH_8U,3);

int height = img->height;

int width = img->width;

int step = img->widthStep/sizeof(uchar);

int channels = img->nChannels;

uchar* data = (uchar *)img->imageData;

data[i*step+j*channels+k] = 111;

Verwendung derWrapper–KlasseIplImage* img = cvCreateImage(cvSize(640,480),

IPL_DEPTH_8U,3);

RgbImage imgA(img);

imgA[i][j].b = 111;

imgA[i][j].g = 112;

imgA[i][j].r = 113;

Wrapper–Klasse — eleganttemplate<class T> class Image {

private:

IplImage* imgp;

public:

Image (IplImage* img = 0) { imgp = img; }

~Image() { imgp = 0; }

void operator= (IplImage* img) { imgp = img; }

inline T* operator[] (const int rowIndx) {

return ((T*) (imgp->imageData +

rowIndx*imgp->widthStep));

}

};

typedef struct {

unsigned char b,g,r;

} RgbPixel;

typedef struct{

float b,g,r;

} RgbPixelFloat;

typedef Image<RgbPixel> RgbImage;

typedef Image<RgbPixelFloat> RgbImageFloat;

typedef Image<unsigned char> BwImage;

typedef Image<float> BwImageFloat;

OpenCV - Open Source Computer Vision 21

Page 22: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

DatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

Zeichnen mit OpenCV

ZeichenfunktionenI Linien, Kreise, Ellipse, ...I Polygone (Gefullt, Kontur)I TextI Verschiedene Farben,

Linienstarken, AntialisingI Beliebige Bildtypen werden

dabei unterstutzt

OpenCV - Open Source Computer Vision 22

Page 23: OpenCV - Open Source Computer Vision - aiweb.techfak.uni ...aiweb.techfak.uni-bielefeld.de/files/semaobi-ss09-opencv.pdf · Universit¨at Bielefeld Angewandte Informatik Was ist OpenCV?

Universitat Bielefeld

AngewandteInformatik

Was ist OpenCV?Aufbau von OpenCV

OpenCV und IceWingArbeiten mit OpenCV

DatenstrukturenArbeiten mit BildernLiteratur und Dokumentation

Nutzliche Quellen

I Buch Learning OpenCV von Bradski und Kaehler, O’Reilly–Verlag, 2008I /vol/ai/releases/hardy/share/opencv/doc/index.htm

(Dokumentation zur OpenCV–Installation im GZI)I http://www.opencv.org oder direkt

http://sourceforge.net/projects/opencvlibrary(OpenCV–Projektseite mit SVN, Download von Snapshots)

I Pakete der Version 1.0 fur viele Linux–Distributionen (ubuntu,OpenSUSE, ...)

I http://opencv.willowgarage.com/wiki (offizielles OpenCV Wiki)I http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/

index.html (Gute Einfuhrung in OpenCV, viele Beispiele auf diesenFolien sind daraus entnommen)

OpenCV - Open Source Computer Vision 23