Wie installiere ich OpenCV auf Raspberry Pi?

Wir müssen verschiedene Operationen an einem Bild ausführen, um nützliche Informationen daraus zu extrahieren. Dieser Prozess des Anwendens verschiedener Algorithmen auf ein Bild, um die gewünschte Ausgabe zu erhalten, wird aufgerufen Bildverarbeitung . Manchmal ist das Bild am Eingang unscharf und wir möchten Daten daraus erfassen. Zum Beispiel. Wenn die Räuber kommen, um das Fahrrad oder Auto zu schnappen, kommen sie meistens auf das Fahrrad, und auf den Straßen sind Overhead-Kameras installiert, die das Filmmaterial des Vorfalls erfassen. Wir müssen die Zulassungsnummer des Fahrzeugs kennen, auf das die Räuber kommen, und dies kann mithilfe einiger Bildverarbeitungsalgorithmen problemlos durchgeführt werden. Um die Bildverarbeitung für bestimmte Bilder durchzuführen, müssen einige Bibliotheken auf der von uns verwendeten Hardware installiert werden. Unter diesen Bibliotheken ist die wichtigste OpenCV. OpenCV kann auch auf PCs und Mikroprozessoren installiert werden. Raspberry Pi ist ein Mikroprozessor und wird in verschiedenen elektronischen Projekten verwendet. Nach der Installation des Betriebssystems auf Raspberry Pi können wir verschiedene Bildverarbeitungsaufgaben ausführen. Die Installation von OpenCV auf Raspberry Pi ist eine langwierige und hektische Aufgabe. In diesem Artikel erfahren Sie, wie Sie OpenCV auf Raspberry Pi installieren, um verschiedene Bildverarbeitungsvorgänge auszuführen.



Gesichtserkennung mit OpenCV auf Raspberry Pi installiert

Wie richte ich Raspberry Pi ein und konfiguriere OpenCV darauf?

Gehen wir nun dazu über, Pi einzurichten und die unter Schritt für Schritt genannten Vorgänge auszuführen, um OpenCV darauf zu installieren. Die Installation von OpenCV auf Pi ist ein langwieriger Vorgang und dauert ca. 4 Stunden. Wenn Sie also wenig Zeit haben, starten Sie die Installation nicht. Lesen Sie dieses Tutorial, wenn Sie frei sind. Zusammen mit diesem wird Pi aufgeheizt, wenn es gedreht wurde AUF Bewahren Sie es für eine lange Zeit auf und bewahren Sie es an einem kühlen Ort auf, wenn Sie daran arbeiten.



Schritt 1: Verwendete Komponenten

  • Himbeer Pi 3B + Kit
  • Fernseher mit HDMI-Anschluss
  • HDMI Kabel
  • Kabelgebundene Computermaus

Schritt 2: Auswahl des Raspberry Pi-Modells

Auf dem Markt sind verschiedene Modelle von Himbeer-Pi erhältlich. Mit Ausnahme von Himbeer-Pi-Null kann jedes Modell bevorzugt werden. Dies liegt daran, dass das Einrichten eines Netzwerks auf Pi Null eine sehr anstrengende Aufgabe ist. Die neuesten Modelle wie 3A +, 3B + oder 4 können erworben werden. Der neue Raspberry Pi 3 ist das schnellste und dominanteste Gerät, das die Raspberry Pi Foundation bisher veröffentlicht hat. In diesem Projekt werden wir also den Raspberry Pi 3B + verwenden.



Himbeer Pi 3B +



Schritt 3: Anschließen der Peripheriegeräte

Nach Auswahl von Raspberry Pi verbinden wir Tastatur und Maus mit dem Raspberry Pi. Verwenden Sie nach dem Anschließen das HDMI-Kabel, um Pi mit dem Fernseher zu verbinden. Nachdem wir diese Verbindungen hergestellt haben, können wir fortfahren.

Schritt 4: Auswählen des Betriebssystems

Erstens benötigen wir eine SD-Karte mit einem geeigneten Betriebssystem. Bei der Auswahl des Betriebssystems gibt es heutzutage verschiedene Alternativen, von „konventionellem“ Raspbian über dedizierte Medienarbeitsframeworks bis hin zu Windows 10 IoT. Es sind nicht viele Anwendungen erforderlich, daher sollten wir die Zentraleinheit (CPU) und den Arbeitsspeicher (RAM) so weit wie möglich für die Medien-Streaming-Anwendung belassen. Ein Problem ist, dass Arch Linux für Leute empfohlen wird, die ziemlich viel Linux-Kenntnisse haben. Sie stehen an vorderster Front, und wir werden bei der Einführung von Anwendungen und Bibliotheken von Drittanbietern immer wieder auf Probleme stoßen. Wenn dies Ihre erste Einrichtung eines Heimkinos ist, empfehlen wir Ihnen die Auswahl Raspbian Lite . Es wird über die Befehlszeile gesteuert und kann ohne großen Aufwand so konzipiert werden, dass es im 'kopflosen' Modus weiterläuft, d. H. Vollständig remote über das System, ohne dass eine Konsole oder ein Bildschirm erforderlich ist.

Raspbian Lite



Schritt 5: Stellen Sie sicher, dass Raspberry Pi auf dem neuesten Stand ist

Halten Sie die Quellen Ihres Pi auf dem neuesten Stand, da sonst die veraltete Software einige Probleme verursachen kann. Aktivieren Sie den VNC-Viewer (Virtual Network Computing) auf Ihrem Pi und verbinden Sie dann Ihren Raspberry Pi mit dem VNC-Viewer. Der folgende Link dient zum Herunterladen von VNC und zum anschließenden Verbinden mit Pi.

VNC Viewer

Öffnen Sie nun das Terminal und führen Sie den folgenden Befehl aus:

sudo apt-get update

Dann,

sudo apt-get upgrade

Zahlreiche Pakete werden installiert und wenn Sie dazu aufgefordert werden, drücken Sie UND und dann Eingeben um sie richtig zu installieren.

Schritt 6: Melden Sie sich bei Raspberry Pi an

Der Standardbenutzername des Raspberry Pi ist Pi, und das Standardkennwort ist Himbeere. Dies sind die Standard-Anmeldedaten. Verwenden Sie diese Daten bei Ihrer ersten Anmeldung, um sich bei pi anzumelden. Sie können diese Details auch jederzeit ändern.

Melden Sie sich bei Raspberry Pi an

Schritt 7: Erstellen von genügend Speicherplatz auf Raspbian für OpenCV

OpenCV erhält großen Speicher, daher müssen wir das Dateisystem erweitern und den gesamten Speicherplatz der Speicherkarte zuweisen. Wir werden zur Eingabeaufforderung von Himbeere gehen und den folgenden Befehl eingeben:

sudo raspi-config

Ein Fenster wird angezeigt und sieht folgendermaßen aus:

Konfigurationstool

Jetzt klicken wir auf Erweiterte Optionen und dort finden wir eine Option 'Dateisystem erweitern'. Wählen Sie diese Option.

Erweitern Sie Dateisystem

Wir werden die drücken Eingeben Taste und drücken Sie dann die Fertig Taste. Zu diesem Zeitpunkt muss unser Raspberry Pi neu gestartet werden, damit die Änderungen wirksam werden. Geben Sie den folgenden Befehl ein, um es neu zu starten:

sudo neu starten

Nach dem Neustart prüfen wir, ob unser Dateisystem erweitert wurde und der gesamte Speicherplatz auf der SD-Karte enthalten ist oder nicht. Durch Ausführen df -h Befehl können wir überprüfen, ob unsere Festplatte erweitert wurde:

Derjenige, der eine 8-GB-Micro-SD-Karte verwendet, verwendet möglicherweise 50% des verfügbaren Speicherplatzes Wolfram Motor und LibreOffice kann rund 1 GB Speicherplatz freigeben. (Denken Sie daran, dass dieser Schritt optional ist).

sudogeeignet- -bekommen spülenWolfram- -Motor sudogeeignet- -bekommen spülenlibreoffice* * sudogeeignet- -bekommen reinigen sudogeeignet- -bekommen Autoremove

Schritt 8: Installieren von Abhängigkeiten

Bevor wir uns für Abhängigkeiten entscheiden, müssen wir die vorhandenen Pakete, die auf Pi installiert sind, aktualisieren und aktualisieren:

sudo apt-get update

Dann,

sudo apt-get upgrade

Jetzt werden wir einige Entwicklungstools installieren, die uns bei der Konfiguration von OpenCV Build helfen:

sudogeeignet- -bekommen Installierenbauen- -wesentlichcmakepkg- -config

Um die verschiedenen Vorgänge für Bilder auszuführen, müssen die verschiedenen Bildformate von der Festplatte geladen werden. Diese Formate umfassen JPEG, PNG usw. Zum Laden dieser Bildformate installieren wir einige E / A-Pakete:

sudogeeignet- -bekommenInstallierenlibjpeg- -devlibtiff5- -devlibjasper- -devlibpng12- -dev

Zusammen mit diesen Images-E / A-Paketen werden auch Video-E / A-Pakete installiert. Nach der Installation dieser Videopakete können wir verschiedene Videodateiformate laden.

sudogeeignet- -bekommen Installierenlibavcodec- -devlibavformat- -devlibswscale- -devlibv4l- -dev sudogeeignet- -bekommen Installierenlibxvidcore- -devlibx264- -dev

Die OpenCV-Bibliothek wird einem Untermodul mit dem Namen beigefügt Highgui Dies wird verwendet, um Bilder auf unserem Bildschirm anzuzeigen und wichtige GUIs herzustellen. Vor dem Kompilieren dieses Untermoduls müssen wir die GTK-Entwicklungsbibliothek installieren:

sudogeeignet- -bekommen Installierenlibgtk2.0- -devlibgtk- -3- -dev

An einem Bild können mehrere Matrixoperationen ausgeführt werden, indem die Größe des Bildes überprüft und dann Pixelwerte gelesen werden. Wir können diese Pixelwerte auch in eine binäre Form konvertieren und diese Binärziffern dann ändern, um ein Bild neu zu generieren. In Himbeer-Pi haben wir einige Einschränkungen bei der Bereitstellung von Eingaben, daher sind diese Bibliotheken wichtig und müssen installiert werden. Daher können diese Ergebnisse verbessert werden, indem einige zusätzliche Abhängigkeiten installiert werden:

sudogeeignet- -bekommen InstallierenLibatlas- -Base- -devGfortran

Einige Leute werden an Python 2.7 arbeiten, andere an Python 3. Die Header-Dateien von Python 2.7 und Python 3 müssen installiert sein, um OpenCV zusammen mit Python-Bindungen zu kompilieren:

sudogeeignet- -bekommen Installierenpython2.7- -devpython3- -dev

In der neuen Version von Raspbian ist Python 3 bereits installiert, und am Lx-Terminal wird möglicherweise eine Nachricht angezeigt, die dies anzeigt 'Python 3 ist bereits die neueste Version' . Dieser Schritt ist wichtig, da bei der Header-Datei mit dem Namen as ein Fehler auftreten kann Python.h während Sie den Befehl ausführen machen um OpenCV zu kompilieren.

Schritt 9: Herunterladen des OpenCV-Quellcodes

Wenn wir mit der Installation der Abhängigkeiten fertig sind, suchen wir im offiziellen Verzeichnis von OpenCV nach dem Archivordner von OpenCV Version 3.3.0.

CD ~ wget - -ODER opencv.Postleitzahl https::/./.Github.mit/.Itseez/.opencv/.Archiv/.3.3.0.zip entpackenopencv.Postleitzahl

Wir installieren das gesamte OpenCV-Paket, daher müssen wir es einbeziehen opencv_contrib auch. Laden Sie es von der offiziellen Website herunter und entpacken Sie es anschließend.

wget - -ODER opencv_contrib.Postleitzahl https::/./.Github.mit/.Itseez/.opencv_contrib/.Archiv/.3.3.0.zip entpackenopencv_contrib.Postleitzahl

Beachten Sie beim Herunterladen dieser Verzeichnisse, dass die Version von OpenCV und opencv_contrib sollte gleich sein, d. h. sie sollten 3.3.0 sein, sonst treten während der Installation Kompilierungsfehler auf.

Schritt 10: Python 2.7 oder Python 3?

In Bezug auf die Leistung ist Python 2.7 besser als Python 3, aber in OpenCV gibt es keinen großen Unterschied. Wir müssen installieren Pip auf Raspberry vor dem Kompilieren von OpenCV. Es ist ein Paketverwaltungssystem, mit dem die in Python verwendeten Softwarepakete installiert werden. Diese Pakete sind möglicherweise standardmäßig im neuesten Raspbian vorhanden. Es ist jedoch besser, sie mit den folgenden Befehlen zu überprüfen.

wgethttps::/./.Bootstrap.pypa.ICH/.bekommen- -Pip.py sudoPythonbekommen- -Pip.py sudopython3bekommen- -Pip.py

Nach der Installation von pip werden zwei Pakete dringend empfohlen, die während der Arbeit an OpenCV installiert werden müssen. Der erste ist virtualenv und der zweite virtualenvwrapper. Wir können OpenCV nicht direkt in Python importieren, daher erstellen wir eine virtuelle Umgebung und arbeiten dann in dieser Umgebung. Eine virtuelle Umgebung ist ein außergewöhnliches Tool, mit dem die für verschiedene Projekte erforderlichen Bedingungen an diskreten Orten gehalten werden können, indem für jede einzelne Umgebung separate Python-Umgebungen erstellt werden.

sudoPipInstallierenvirtualenvvirtualenvwrapper sudorm - -rf ~/..Zwischenspeicher/.Pip

Nach der Installation dieser Pakete müssen wir unsere aktualisieren ~/..Profil Datei, die die versteckte Datei in unserem Home-Verzeichnis ist und die folgenden Zeilen am Ende enthält. Geben Sie den folgenden Befehl ein, um das Verzeichnis einzugeben:

Nano~/..Profil

Wenn das Verzeichnis geöffnet ist, scrollen Sie nach unten und enthält die folgenden Zeilen:

# virtualenv und virtualenvwrapper ExportWORKON_HOME=$ HOME/..virtualenvs ExportVIRTUALENVWRAPPER_PYTHON=/.usr/.bin/.python3 Quelle /.usr/.lokal/.bin/.virtualenvwrapper.Sch

Nachdem Sie diese Zeilen eingefügt haben, drücken Sie Strg + x und speichern Sie sie durch Drücken von UND und verlassen.

Home-Verzeichnis

Jedes Mal, wenn wir das Terminal starten und uns bei unserem Pi anmelden, wird diese Punktdatei automatisch für uns geladen. Da wir bereits angemeldet sind, würden wir manuell eingeben Quelle ~ / .profile um den Inhalt der Datei zu laden.

Erstellen einer virtuellen Python-Umgebung: Wir müssen eine virtuelle Umgebung mit Python 2.7 und Python 3 erstellen.

mkvirtualenvLebenslauf - -p python2

Es wird eine Umgebung mit dem Namen erstellt Lebenslauf unter Python 2.7. Jeder, der eine Umgebung unter Python 3 erstellen möchte, sollte den folgenden Befehl eingeben:

mkvirtualenvLebenslauf - -p python3

Überprüfen, ob wir uns in der virtuellen Umgebung befinden, die als 'Lebenslauf' bezeichnet wird: Wenn wir den pi neu starten, bleiben wir nicht in einer virtuellen Umgebung und müssen zwei der unten genannten Befehle eingeben, um in den Modus der virtuellen Umgebung zu wechseln.

Quelle ~/..Profil ArbeitLebenslauf

Das folgende Bild zeigt, dass wir uns nicht im virtuellen Umgebungsmodus befinden:

LxTerminal

Wenn Sie also die beiden oben genannten Befehle eingeben, können Sie auf unsere virtuelle Umgebung zugreifen. Wenn wir die virtuelle Umgebung verlassen möchten, geben wir disable ein:

Arbeiten in einer virtuellen Umgebung

Installieren von NumPy auf Raspbian: Die einzige Abhängigkeit, die wir benötigen, um OpenCV auf Raspberry zu installieren, ist Numpy. Geben Sie den unten genannten Befehl ein, um Numpy auf Raspberry Pi zu installieren. Die Installation dauert ungefähr 10 Minuten:

PipInstallierennumpy

Schritt 11: Kompilieren und Installieren von OpenCV

Wir werden OpenCV in der virtuellen Umgebung kompilieren und installieren. Stellen Sie daher sicher, dass Sie in der virtuellen CV-Umgebung arbeiten. Wenn wir uns nicht in der virtuellen Umgebung befinden, kann OpenCV nicht kompiliert werden. Ändern Sie nun das Verzeichnis in das Ausgangsverzeichnis, das Unterverzeichnis Lebenslauf öffnen 3.3 und dann das Build-Verzeichnis erstellen. Nachdem Sie das Build-Verzeichnis erstellt haben, fügen Sie die letzten fünf Zeilen in das CMake Verzeichnis. Es wird nach bestimmten Bibliotheken gesucht, die Pfade, Python-Versionen usw. festlegen.

CD ~/.opencv- -3.3.0/. mkdir bauen CD bauen cmake - -D. CMAKE_BUILD_TYPE=FREISETZUNG . - -D. CMAKE_INSTALL_PREFIX=/.usr/.lokal . - -D. INSTALL_PYTHON_EXAMPLES=AUF . - -D. OPENCV_EXTRA_MODULES_PATH=~/.opencv_contrib- -3.3.0/.Module . - -D. BUILD_EXAMPLES=AUF ..

Für diejenigen, die Python 2.7 verwenden, müssen sie zur CMake-Ausgabe scrollen und nach dem Abschnitt Python 2.7 suchen und prüfen, ob Numpy und die Pfade der Pakete ordnungsgemäß konfiguriert sind. Für diejenigen, die Python 3 verwenden, wird der Abschnitt Python 3 direkt unter dem Abschnitt Python 2 überprüft:

Überprüfen des Python 2.7-Abschnitts

Jetzt sind wir endlich bereit, OpenCV zu kompilieren. Geben Sie den Befehl make ein und der Kompilierungsprozess wird gestartet. Das Kompilieren dauert ungefähr vier Stunden. Daher wird die Kompilierung bevorzugt vor dem Schlafengehen in der Nacht gestartet, damit das OpenCV kompiliert wird, wenn Sie morgens aufwachen. Wenn Sie einen Befehl 'make' eingeben, wird nur mit einem Kern kompiliert. Es ist zwar etwas zeitaufwändig, hat aber eine geringere Fehlerwahrscheinlichkeit. Die Verwendung der Befehle make -j4 und make -j2 kann zu einer Überhitzung des Raspberry Pi und zu Kompilierungsfehlern führen:

machen

Zusammenstellung abgeschlossen

Wir werden OpenCV 3 mit dem folgenden Befehl auf Raspberry Pi installieren. Durch Ausführen dieses Befehls werden die entsprechenden Dateien an ihren Speicherort kopiert:

sudo make install

Unsere Installation wird durch Ausführen dieses letzten Befehls abgeschlossen:

sudoldconfig

Wenn wir Python 2.7 oder Python 3 verwenden, bleiben jetzt ein paar Schritte.

Schritt 12: Beenden der Installation

Kehren Sie durch Eingabe zum Ausgangsverzeichnis zurück cd ~.

Python 3: Wir werden die OpenCV-Bindungen mit unserem Lebenslauf im Python 3-Verzeichnis verknüpfen, da wir OpenCV- und Python-Bindungen für Python 3 kompiliert haben.

CD ~/..virtualenvs/.Lebenslauf/.lib/.python3.5/.Seite? ˅- -Pakete/. ln - -s /.usr/.lokal/.lib/.python3.5/.Seite? ˅- -Pakete/.cv2.damit cv2.damit

Das ist es!. Jetzt haben wir OpenCV auf Raspberry Pi installiert. Wir werden jetzt in der virtuellen Umgebung danach suchen.

Schritt 13: Testen von OpenCV

Öffnen Sie das LxTerminal und schreiben Sie das Quelle Befehl gefolgt von der Arbeit Befehl. Nachdem wir den virtuellen Umgebungsmodus aufgerufen haben, importieren wir OpenCV-Bindungen durch Eingabe von Python und importieren dann cv2. Wenn keine Fehlermeldung angezeigt wird, bedeutet dies, dass sie erfolgreich importiert wurde.

Quelle ~/..Profil ArbeitLebenslauf Python >>importierencv2

Danach überprüfen wir unsere OpenCV-Version, indem wir den folgenden Befehl eingeben:

cv2.__Ausführung__

Testen]

Wir haben OpenCV auf Raspberry 3B + installiert. Jetzt können wir in Python zahlreiche Bildverarbeitungsvorgänge wie Ziffernerkennung, Gesichtserkennung usw. ausführen.