Cypax.net
Robotik, Computertechnik, Elektronik, Programmieren, und Mikrocontroller

OpenCV-Tutorial

Inhalt dieser Seite



Beschreibung



In diesem How-To wird erklärt, wie man die Bildverarbeitungsbibliothek OpenCV in die Entwicklungsumgebung Dev-C++ integriert.
Am Ende des Tutorials ist man dann in der Lage unter Verwendung von OpenCV C++ Programme zu schreiben, welche zum Beispiel mit einer Webcam (oder einer anderen Videoquelle) Personen erfassen, Bewegungen registrieren, ...

Bitte beachten: dieses Tutorial bezieht sich auf die OpenCV-Version 1.0rc1. Für die neuere Version 1.1pre1 sind die unten genannten Anpassungen zu beachten!

OpenCV (Open Source Computer Vision Library) ist eine C++ Bibliothek von Intel zur Bildverarbeitung.
(Bitte nicht verwechseln: die Bildverarbeitung wird genutzt um mit Hilfe von Algorithmen Informationen aus Bildern zu extrahieren - im Gegensatz zu Bildbearbeitung, welche sich mit der Manipulation von Bildern befasst.)

Die OpenCV-Bibliothek umfasst zahlreiche Algorithmen und Filterfunktionen und bietet viele Anwendungsmöglichkeiten:
Dev-C++ ist eine open-source Entwicklungsumgebung (IDE) für C und C++.
Die IDE läuft ab Windows95 und benutzt eine Variante des GNU-C++-Compilers.
Der größte Vorteil ist sicherlich die übersichtlich gehaltene Oberfläche, die bei der Arbeit nicht mit unnötigen Features aufhält und auch Anfängern den Einstieg erleichtert.

In diesem How-To wird davon ausgegangen, dass Dev-C++ bereits auf dem System installiert und lauffähig ist.



Λ Seitenanfang



Installation von OpenCV



Der erste Schritt besteht darin, OpenCV von http://sourceforge.net/projects/opencvlibrary/ zu downloaden.
Die in diesem Tutorial verwendete Version heißt "OpenCV_xyz.exe" und befindet sich im Package "opencv-win" (xyz steht dabei für die Versionsnummer).
Direktlink zum Download der Version 1.0rc1 ( 16 MB), auf welche sich diese Anleitung bezieht.

Nun muss das heruntergeladene Setupprogramm gestartet werden. Wenn alle Standardeinstellungen übernommen werden (empfohlen!), wird OpenCV in das Verzeichnis C:\Programme\OpenCV installiert.
Nach der Installation ist ein Reboot nötig, da die Pfadangaben erweitert wurden (C:\Programme\OpenCV\bin).

Im Ordner C:\Programme\OpenCV\samples\c befinden sich alsdann einige Beispielprogramme, welche ausprobiert werden können. Manche erfordern den Anschluss einer Webcam (oder einer anderen Videoquelle) an den Rechner.



Λ Seitenanfang



Konfiguration von Dev-C++



In Dev-C++ das Menü "Werkzeuge->Compiler Optionen" anwählen.
Im ersten Tab ("Compiler") ist "Diese Befehle zur Linker-Kommandozeile hinzufügen" anzukreuzen und darunter
-lhighgui -lcv -lcxcore -lcvaux -lcvcam
einzutragen:
Screenshot

Im Tab "Verzeichnisse" ist im Untertab "Bibliotheken" der Pfad C:\Programme\OpenCV\lib hinzuzufügen:
Screenshot

Nun sind noch in den Untertabs "C-Includes" und "C++-Includes" folgende Pfade hinzuzufügen:
C:\Programme\OpenCV\cxcore\include
C:\Programme\OpenCV\cv\include
C:\Programme\OpenCV\otherlibs\highgui
C:\Programme\OpenCV\cvaux\include
C:\Programme\OpenCV\otherlibs\cvcam\include

Screenshot



Λ Seitenanfang



Das war's!



So, schon fertig. Nun kann man z.B. die Datei C:\Programme\OpenCV\samples\c\squares.c öffnen und mit Dev-C++ kompilieren und ausführen (F9) und natürlich auch ändern um etwas mit OpenCV herumexperimentieren...

Die OpenCV-Dokumentation steht übrigens auch bei SourceForge zum Download: OpenCV-Dokumentation

Grüße und viel Erfolg,
 Cypax



Λ Seitenanfang



Links und Dateien



OpenCV (Intel)
OpenCV (Wikipedia)
OpenCV-Projekt bei Sourceforge
Bloodshed Dev-C++
Dev-C++ Resource Site

OpenCV Version 1.0rc1 (16MB)



Λ Seitenanfang



Update: Anpassungen für OpenCV 1.1pre1



Zwischenzeitlich ist eine neuere OpenCV-Version 1.1pre1 bei Sourceforge erhältlich.
Bei dieser Version gibt es keine cvcam-Library mehr. Auszug aus dem Changelog:
[Windows] cvcam has been removed (as videoInput is now supported by highgui)

Wenn diese Version verwendet werden soll, sind daher folgende Punke zu beachten:



Λ Seitenanfang






Kommentar schreiben:



Name:


E-Mail (optional, wird nicht öffentlich angezeigt):


Nachricht:


                       
                       
                       
                       
                       
Bitte die nebenstehende Zahl eingeben:

 

Lieber Besucher,
ich freue mich sehr über jeden Kommentar zu meinen Projekten und Tutorials.
Ich bitte jedoch darum die folgenden Punkte zu berücksichtigen:
Da immer wieder Spambots versuchen, hier Werbung einzutragen ist es leider erforderlich, vor dem Absenden die unter dem Formular abgebildete Zahl einzugeben.
Mit diesem Captcha (?) wird verhindert, dass das diese Seite mit Werbung für Potenzmittelchen oder ähnlichen Erfreulichkeiten zugemüllt wird.

Zudem möche ich darauf hinweisen, dass zu jedem Eintrag Host sowie IP gespeichert werden.
Einträge mit extremistischem, pornografischem, beleidigendem oder in anderer Weise rechtsverletzendem Inhalt sind nicht erlaubt.
Ebenso ist Werbung für kommerzielle Produkte oder Webseiten strikt untersagt.
Hyperlinks sind in den Kommentaren nicht möglich.
Rechtsverstöße können zur Anzeige gebracht werden.

Es können maximal 500 Zeichen pro Nachricht eingetragen werden.

Vielen Dank für die Beachtung dieser Regeln.
 



15 Kommentare. Ältester zuerst:

 1. ollydbg schrieb am 17.12.2008 um 15:24:56:

GREAT!
Follow your advice, I can also do it in code::blocks and Mingw. Thanks!

 2. Aidan schrieb am 05.01.2009 um 23:54:09:

Thanks so much! These tutorials will help me a lot, and I couldn't figure out how to get OpenCV 1.1pre1 to work with Dev-Cpp so this helped me ALOT. Thanks again!

 3. ollydbg schrieb am 07.01.2009 um 03:51:55:

to: Aidan
It can easily upgrade to opencv1.1, I'm using codeblocks which also use mingw c++ compiler internally. Note there is only ONE header file path and ONE library path you need to set.

 4. John schrieb am 13.02.2009 um 02:48:10:

jk_casey [at] live.com

Hi,

Thank for your page. I was trying to use cvcam and until now I didn't realise i had downloaded the wrong version of OpenCV as it didn't work with the demo provided. I am using DevCpp.

Now to find demos for the new version ...

Cheers,
John

 5. Peet schrieb am 11.04.2009 um 21:27:32:

Hi, I'd just like to mention that modifications to the PATH do not require a system restart - explorer.exe simply needs to be terminated and relaunched.

 6. le PUISSANT schrieb am 28.06.2009 um 21:30:29:

jolie laisseur de choix

 7. linker error with opence schrieb am 03.07.2009 um 23:05:20:

i get a linker error with opencv

 8. Bishesh schrieb am 18.07.2009 um 01:51:05:

Thanks,
This worked fine and will help me get started with openCV!

 9. Bishesh schrieb am 18.07.2009 um 11:11:03:

Sorry, I though it worked out fine earlier because I was able to compile the example OpenCV codes successfully.
BUT there is a problem when I run the program, application hangs and message: "an application failed to initialize ...".
If I use simple programs without OpenCV, it runs.
I am using vista.
When I try to use debug, I get:
program raises an Access Violation (Segmentation Fault)

I am using latest version of both openCV and devc++

 10. patrick cadelina schrieb am 03.10.2009 um 15:00:33:

hi. can you make a new guide for the new release of OpenCV 2.0?

Hello Patrick,
I'm curious about new features of OpenCV2 too, but since I'm currently quite busy with work there is just not enought room.
But I hope I'll find some time during the winter months for a new robotic project involving image processing.

- Cypax

 11. Fab pinner schrieb am 29.10.2009 um 06:49:47:

hope you can find some time to make some guide, I just can´t make the .lib files that you are supposed to work with Opencv 2.0.

 12. Lars schrieb am 05.11.2009 um 19:52:37:

Hi,

schöne Anleitung, aber leider habe ich beim compilen von squares.c den Fehler "cannot find -Ihighgui" und "ld returned 1 exit status".
Hast Du eine Idee was da falsch läuft?

 13. sudeepta schrieb am 20.11.2009 um 15:51:29:

Thats really well explained then any where else,
I wish you please tell how to configure Opencv2.0 with dev c++ I am having a very hard time with that.
Please give some tutorial please please please...

 14. Mounica schrieb am 10.01.2010 um 05:48:47:

Thanks a million! this tutorial really saved my time.

 15. Konstabel schrieb am 23.02.2010 um 22:25:07:

Could you please update this entry for the new versions of DevC and openCV?

Thanks



Λ Seitenanfang


 

Menü

Startseite Suche Kontakt Impressum Sitemap This page in English


Diese Seite ist valides XHTML 1.0 Valid XHTML 1.0

Copyright © 2006-2010 by Philipp Bank
 hoch