In diesem Artikel werden Sie erfahren, wie Sie OpenCV (Open Source Computer Vision Library) auf Ihrem Raspberry PI installieren. Mit OpenCV können Sie zum Beispiel Gesichter auf Bildern oder in Videos erkennen. In einem weiteren Artikel finden Sie weitere Anweisungen, um OpenCV in Kombination mit einem Webserver zur Gesichtererkennung zu nutzen. Doch zu nächst muss der Raspberry PI vorbereitet werden.
Alle folgenden Befehle bitte als root Benutzer ausführen oder vor jedem Befehl ein “sudo” einfügen.
1 2 3 4 5 6 7 8 9 10 11 |
apt-get update && apt-get upgrade #sources.list einlesen und nach Paketaktualisierungen suchen apt-get install python3-dev #Python apt-get install build-essential git cmake pkg-config #Pakete fuer "Entwickler" #Pakete fuer Input/Output von JPEG, TIFF, PNG etc. Bildern: apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev #Pakete fuer Videodateien (Vorerst nur zum Testen): apt-get install libavcodec-dev libavformat-dev libswscale-dev apt-get install libv4l-dev libxvidcore-dev libx264-dev #Pakete, die OpenCV das Leben einfacher machen: apt-get install libatlas-base-dev gfortran |
Nach Installation aller Abhängigkeiten, die Raspbian und OpenCV betreffen, kann mit dem Vorbereiten von Python begonnen werden. Für Python wird noch eine eigenständige Paketverwaltung benötigt mit der noch andere Python-Pakete installiert werden können.
1 2 3 4 5 6 7 8 9 10 |
mkdir /home/work_opencv cd /home/work_opencv #Herunterladen und Ausfuehren der Paketverwaltung wget https://bootstrap.pypa.io/get-pip.py python get-pip.py #Installation eines Paketes fuer isolierte Pythonumgebung #Ermoeglicht das Arbeiten mit mehreren Pythonversionen #durch Abkopplung von dem Systemstandard pip install virtualenv virtualenvwrapper rm -rf ~/.cache/pip |
Nun muss das Benutzerprofil von dem „root“-Benutzer (bzw. dem aktiven Benutzer) fuer die Verwendung von „virtualenv“ und „virtualenvwrapper“ bearbeitet werden. Hierzu wird mit
1 |
nano ~/.profile |
die Profildatei vom aktiven Benutzer (in diesem Fall “root”) in dem Texteditor nano geöffnet. Am Ende der Datei wird dann der Inhalt des nächsten Quelltextkasten eingefügt.
1 2 3 |
# virtualenv und virtualenvwrapper export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh |
Die Datei kann nun über die Tastenkombination [STRG] + [O] gespeichert und über [STRG] + [X] geschlossen werden. Um sich eine erneute Anmeldung am System zu sparen, damit die Profildatei neu eingelesen wird, kann über den Befehl
1 |
source ~/.profile |
genau dies getan werden. Sind mehrere Sitzungen des “root”-Benutzers (bzw. aktuellen Benutzers) geöffnet, muss dieser Befehl in jeder Sitzung ausgeführt werden. Nun muss noch eine virtuelle Umgebung erstellt werden. Dies geschieht mit
1 |
mkvirtualenv cv -p python3 |
Um in die isolierte Umgebung zu wechseln, wird der Befehl
1 |
workon cv |
benötigt. Dieser Befehl ist immer vor dem Ausführen einer Pythondatei zu verwenden, wenn man sich neu angemeldet hat. Innerhalb der virtuellen Umgebung “cv” wird noch die Installation von numpy benötigen. Dies erfolgt mit
1 |
pip install numpy |
Nach diesen Vorbereitungen kann nun OpenCV installiert werden. Wichtig an dieser Stelle ist, dass die virtuelle Umgebung “cv” benutzt wird.
Bitte planen Sie für den make Befehl etwas Zeit ein.. Die Zeit reicht von 1-2 ganzen Kuchen bis zu einmal schlafen.. (also länger als eine Stunde Zeit sollten Sie diesem Befehl auf jeden Fall geben).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
workon cv #in virtuelle Umgebung wechseln cd /home/work_opencv #Herunterladen und Entpacken des OpenCV Quellcodes wget -O opencv-3.1.0.zip https://github.com/Itseez/opencv/archive/3.1.0.zip unzip opencv-3.1.0.zip #Herunterladen und Entpacken von "Zusatzprogrammen" von OpenCV #Bringt Unterstuetzung von SURF und SIFT (Bild Verarbeitung) wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip unzip opencv_contrib.zip #Kompilieren vorbereiten cd opencv-3.1.0/ mkdir build cd build #Durch einen Fehler im CMake Script, ist es in Verion 3.1.0 nicht # moeglich die C-Beispiele mit zu installieren. Deshalb sind #diese von der Installation ausgeschlossen cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \ -D BUILD_EXAMPLES=ON .. #Kompilieren von OpenCV mit allen 4 Kernen #(benötigt viel Zeit und einiges an Speicherplatz!) make -j4 #Inatallieren von OpenCV make install ldconfig |
Damit OpenCV auch innerhalb von Python mit
1 |
import cv2 |
verwenden werden kann, muss eine Bibliothek umbenannt werden. Der Vorgang wird im nächsten Befehlsblock beschrieben.
1 2 3 4 5 6 7 |
#Bitte mit ls ueberpruefen, ob der Pfad noch #zur installierten Pythonversion passt cd /usr/local/lib/python3.4/site-packages/ mv cv2.cpython-34m.so cv2.so #OpenCV auch der virtuellen Umgebung zur Verfuegung stellen cd ~/.virtualenvs/cv/lib/python3.4/site-packages/ ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so |
Nach dieser Qual für den kleinen Raspberry PI kann OpenCV mit Python benutzt werden.
No responses yet