Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

techniken:opencvprocessing

Bildverarbeitung mit OpenCV in Processing

OpenCV: Eine quelloffene, Bibliothek zur professionellen Bildverarbeitung

OpenCV („Computer Vision“) ist eine Sammlung von Algorithmen und Datenstrukturen zur Bildverarbeitung- Erkennung- und Interpretation, zu der die internationale akademischen und industriellen Bildverarbeitungscommunity ständig neue Teile beträgt.

Viele der enthaltenen Verfahren sind auf dem neusten Stand der Forschung, andere obskur, und die meisten leider nur äußerst spartanisch dokumentiert.

Die "OpenCV"-Bibiothek für Processing

Unter dem gleichen Namen wie das Original bietet Greg Borenstein einen Wrapper („Verpackung“) der „echten“ OpenCV-Library für Processing an. Dieser bietet insbesondere eine kinderleichte Installation und direkt lauffähige Beispielprogramme.

Zusätzlich bietet die Bibliothek eine „opencv“ Klasse (die Verwirrung hört nie auf), in der der Autor alles, was er für nützlich hält, zu einem großen Klumpen zusammenschnürt, der leichter benutzbar sein soll als die schicken beliebig kombinierbaren Module des Originals (dem objektorientierten Programmierer dreht sich hier der Magen um…). Die Originalmodule lassen sich aber trotzdem nutzen.

Installation

Zur Installation müsst ihr einfach in Processing im Menü Sketch/Library Importieren/Library hinzufügen auswählen und die Library „OpenCV“ suchen.

Wenn ihr Daten aus einer Kamera verwendet wollt, müsst ihr zusätzlich noch die Library „Video“ installieren. (geht genauso).

Dokumentation und Informationsquellen

Nützliches Beispiel: "LiveCamTest"

Schaut euch als nächstes vielleicht mal das Beispiel „ContributedLibraries/OpenCV/LiveCamTest“ an - dort wird die eingebaute Kamera eures Laptops verwendet, um Gesichter zu erkennen und zu markieren.

Wenn ihr nichts anderes vor habt könnt ihr meist schon fast genau den Code aus den Beispielen verwenden.

Brauchbare Tutorials, nur leider für C++

Ein Überblick über alle im Processing-Wrapper implementierten Funktionen: JavaDoc

Hier findet ihr einen (leider ziemlich unübersichtlichen) Überblick über den verkorksten Wrapper: http://atduskgreg.github.io/opencv-processing/reference/

Eine (noch viel kargere) Auflistung aller in Funktionen der „Original“ OpenCV-Library in Java gibt es hier: http://docs.opencv.org/java/3.0.0/

Unersetzlich für ein tieferes Verständnis: Ein Blick in den Quellcode

Unter https://github.com/atduskgreg/opencv-processing/blob/master/src/gab/opencv/OpenCV.java

könnt ihr euch anschauen, wie Greg Borenstein die Original-OpenCV-Funktionalitäten benutzt, um seine eigene multifunktionale „OpenCV“-Klasse zu bauen. Weil seine Funktionen schon laufen, ist das oft ein guter Startpunkt.

Um das zu finden, was euch interessiert, sucht einfach den Namen der entsprechenden Funktion (also z.B. „detect“).

techniken/opencvprocessing.txt · Zuletzt geändert: 2016/07/13 14:43 von fbonowski