heise online Logo
Anmelden
Menü
  • c't – Magazin für Computertechnik
  • iX – Magazin für professionelle Informationstechnik
  • MIT Technology Review – Das Magazin für Innovation von Heise
  • c't Fotografie - Das Magazin rund ums digitale Bild
  • Mac & i – Nachrichten, Tests, Tipps und Meinungen rund um Apple
  • Make – Kreativ mit Technik
  • Alle Magazine im Browser lesen
IT News
  • Newsticker
  • heise Developer
  • heise Netze
  • heise Open Source
  • heise Security
Online-Magazine
  • heise+
  • Telepolis
  • heise Autos
  • TechStage
  • tipps+tricks
Services
  • Stellenmarkt heise Jobs
  • Weiterbildung
  • heise Download
  • Preisvergleich
  • Whitepaper/Webcasts
  • DSL-Vergleich
  • Netzwerk-Tools
  • Spielen bei Heise
  • Loseblattwerke
  • iMonitor
  • IT-Markt
Heise Medien
  • heise Shop
  • Abo
  • Veranstaltungen
  • Arbeiten bei Heise
  • Mediadaten
  • Presse
Anzeige Go! Schule morgen
Newsletter heise-Bot heise-Bot Push Nachrichten Push Push-Nachrichten
make
  • Newsletter
  • Kontakt
  • Heft
  • Mitmachen
  • Foren
  • Über uns
maker_faire
  1. Make
  2. Hintergrund
  3. OpenCV selbst übersetzen

OpenCV selbst übersetzen

Hintergrund 21.04.2015 12:07 Uhr Daniel Bachfeld
Logo OpenCV: Drei angeschnittene Kreise in rot, grün und blau.

Um die aktuellste Version von OpenCV auf seinem Raspberry einzusetzen, muss man die Quellen selbst übersetzen. Wir zeigen, wie das in wenigen Schritten geht.

Die Software-Pakete in den Repositories der meisten Linux-Distributionen hinken der Version der offiziell verfügbaren Version in der Regel um mehrere Releases hinterher. Bestes Beispiel ist OpenCV in der Version 2.4.1 auf dem Raspberry Pi. Offiziell steht bereits 2.4.11 zum Download bereit, das viele Verbesserungen und Bug-Fixes enthält.

Zudem dürfen die Distributoren nicht alle OpenCV-Module als fertige Binaries anbieten, weil einige davon patentgeschützt sind (nonfree packet). So sind beispielsweise die Funktionen für sogenanntes "Feature Tracking" nicht enthalten, mit man denen herausfinden kann, ob Objekte in Bildern gleich sind. Die Funktionen dürfen immerhin als Quellcode verbreitet und selbst übersetzt werden.

Die CMake-Gui erleichtert die Konfiguration der vielfältigen Optionen von OpenCV. Neben dem Source-Pfad muss man den Build-Pfad angeben.

Wer sich traut, kann auch erste Experimente mit Version 3.0beta wagen. Die Version bringt zwar diverse Verbesserungen und insbesondere Unterstützung für Python3 mitbringt, allerdings funktioniert vieles noch nicht so richtig auf dem Raspberry Pi. Zudem haben sich in dieser Version die API-Aufrufe leicht verändert, was bislang aber nur sehr schlecht dokumentiert ist.

Im großen und ganzen ist das Übersetzen der Version 2.4.11 kein Hexenwerk. Damit alles gelingt und man später auch unter Python mit OpenCV arbeiten kann, muss man nur einige Vorbereitungen treffen. Dazu gehört insbesondere das Installieren einiger Bibliotheken: sudo apt-get install python-dev libgtk2.0-dev cmake-qt-gui python-opencv libjpeg8-dev.

Anschließend lädt man das OpenCV-Archiv und entpackt es unter den Pfad /home/pi/Download (meist startet der Browser das Tool XArchive nach dem Download im Browser automatisch). Nach dem Entpacken wechselt man in der Shell in den Ordner opencv-2.4.11 und erzeugt mit mkdir build den Ordner zum Erzeugen der Binaries. Anschließend wechselt man in das eben erzeugte Verzeichnis mit cd build dorthin und startet das CMAKE-Konfigurationstool mit cmake-gui.

Die Einstellungen nimmt man wie im Screenshot oben vor. Anschließend klickt man den "Configure"-Button. Im nun folgenden Drop-Down-Menü wählt man "Unix-Makefiles" aus und klickt "Finish". Der Tool cmake liest nun alle Konfigurationsoptionen ein und stellt sie im Fenster dar. Unter "WITH" deaktiviert man die Option "WITH_OPENCL". OpenCL/CUDA ist die Unterstützung des Systems durch die GPU, allerdings gibt es diese für den Pi noch nicht.

Weil es für Raspbian noch keine Unterstützung der GPU für Rechenoperationen gibt, aktiviert man vor dem Übersetzen die Option "OpenCL".

Das war es im ersten Schritt auch schon. Ein Klick auf "Generate" erzeugt den Makefile. Ist der Vorgang abgeschlossen, beendet man das Konfigurationstool und gibt in der Shell make -j4 ein. Der Übersetzungvorgang dauert rund 2 Stunden. Schneller ginge es auf einem Desktop-System und einer Cross-Compiling-Umgebung. Dafür sind jedoch zahlreiche Vorbereitungen zu treffen, die den Umfang dieses Artikels sprengen würden.

Ist der Übersetzungsvorgang erfolgreich durchgelaufen, installiert man die Bibliothek mit sudo make install. Anschließend startet man den Python-Interpreter mit python und gibt ein import cv2. Dies sollte keine Fehlermeldung produzieren. Mit dem Befehl cv2.__version__ zeigt Python die Modulversion an, die nun 2.4.11 lauten sollte. Produziert der Befehl s=cv2.SIFT() ebenfalls keinen Fehler, sind auch die "Nonfree"-Pakete verfügbar.

Mit quit() verlässt man den Interpreter und stellt mit dem Befehl sudo ldconfig sicher, dass auch wirklich alle neuen gebauten Module und Libs in das System eingebunden sind.

(dab)

Kommentare lesen (3 Beiträge)

Forum bei heise online: Software und Firmware

Teile diesen Beitrag

https://heise.de/-2614269 Drucken
Eigenwerbung
Das aktuelle Heft
Cover der aktuellen Ausgabe von Make

Die Make 2/2022 können Sie ab sofort im Zeitschriftenhandel und Heise Shop kaufen. Auf 114 Seiten u.a. mit diesen Themen: Pneumatik für Maker · Teslaspule · Bilderrahmen mit buntem ePaper · Energiemessung

Heft bestellen
Vorschau

Die Make 3/22 erscheint am 2. Juni 2022.

Anzeige
  • Chrome OS: Das bessere Betriebssystems
  • So geht intelligentes Gebäudemanagement
  • OPPO Find X5 Pro: Fotos und Videos auf professionellem Niveau
  • Mehr Flexibilität durch Infrastructure as Code
  • Zuverlässiger Zugriff dank Zero Trust
  • Wie IT zu nachhaltigem Wirtschaften beitragen kann
  • Sicher entwickeln im Open-Source-Universum
  • Kundenservice mit künstlicher Intelligenz
  • Wann lohnt es sich, die IT-Security auszulagern?
  • Weniger Umweltbelastung durch die IT
Eigenwerbung
Make Education
Fünf Kinder sitzen um einen Roboterarm, an dem ein Mädchen schraubt.

Kostenlose Make-Artikel für Lehrkräfte

Make Education unterstützt Lehrerinnen und Lehrer bei der kreativen und praxisorientierten Unterrichtsgestaltung in den naturwissenschaftlichen Fächern. Jetzt anmelden!

Termine

Fehlt eine Veranstaltung? Termin eintragen

Make 2x Make testen und sparen!

Eigenwerbung
2x Make testen und sparen!

Das kannst du auch!

  • 2 Ausgaben als Plus-Version
  • Über 9 € sparen
  • Inklusive Geschenk nach Wahl
Zum Angebot
  • Aktuell
  • Hintergrund
  • Projekte
    • Smart Home
  • Heft
  • Mitmachen
  • Foren
    • Elektronik Arduino Raspberry Pi 3D-Druck
  • Über uns
  • Newsletter
  • Kalender
  • Service
    • Twitter
    • Facebook
    • YouTube
    • Instagram
    • RSS
  • Datenschutz
  • Cookies & Tracking
  • Impressum
  • Kontakt
  • Barriere melden
  • Mediadaten
  • 1472350
  • Content Management by InterRed
  • Hosted by Plus.line
  • Copyright © 2022 Heise Medien