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:
Im Tab "Verzeichnisse" ist im Untertab "Bibliotheken" der Pfad
C:\Programme\OpenCV\lib
hinzuzufügen:
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
Λ 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:
- Bei der Installation wird gefragt, ob der Pfad C:\Programme\OpenCV\bin zur PATH-Variablen hinzugefügt werden soll.
Bitte angewählt lassen (Default).
- Nach der OpenCV-Installation wird i.d.R. ein Neustart notwendig sein, um die PATH-Änderung zu übernehmen.
- Bei der Konfiguration von Dev-C++ muss zur Linker-Kommandozeile nicht
-lhighgui -lcv -lcxcore -lcvaux -lcvcam hinzugefügt
werden, sondern -lhighgui -lcv -lcxcore -lcvaux. Also ohne -lcvcam!
- Außerdem ist in den Untertabs "C-Includes" und "C++-Includes" nicht der Pfad
C:\Programme\OpenCV\otherlibs\cvcam\include hinzuzufügen.
Dieser Pfad existiert bei der neuen Version nicht mehr.
Λ Seitenanfang
Kommentar schreiben:
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