Rudi's Homepage - Image processing

EnglishDeutsch

Basics

Beschreibung: Elementare Zugriff auf die Bilddaten von Monochrom- und Farbbildern unter OpenCV.

Bildschirmfotos:


Erzeugte Bilder

Downloads:

Basics V. 1.0
Quellcode

HoughTr

Beschreibung: Einfache Beispiele zur OpenCV-Bibliothek. Auf den Bildern einer angeschlossenen Kamera werden mittels der Hough-Transformation Kreise bzw. Linien erkannt und mit einem grünen Rahmen bzw. roten Linien markiert. Das Programm wird durch einen Tastendruck beendet und speichert das letzte Bild in einer JPEG-Datei.

Bildschirmfotos:


Erkannter Kreis.

Erkannte Linien.

Downloads:

HoughTr V. 1.0
Hough-Kreis.
HoughTr V. 1.0
Hough-Linien.

oFlow

Beschreibung:

Erkennung des optischen Flusses mit der OpenCV-Bibliothek. Das Programm erarbeitet sich einen Vektor von 100 gut zu verfolgender Punkte mittels der Methode der Eigenwertmaximierung (goodFeaturesToTrack) und markiert diese mit kleinen grünen Kreisen.

Anschließend wird mittels des Lucas-Kanade-Algorithmus der optische Fluß für diese Punkte bestimmt und mittels roter Pfeile eingezeichnet.

Das Programm wird durch einen Tastendruck beendet und speichert das letzte Bild in einer JPEG-Datei.

Bildschirmfotos:


Beispiel 1.

Beispiel 2.

Downloads:

oFlow V. 1.0
OpenCV optischer Flu.

ovlDen

Beschreibung:

Reduzierung des Hintergrundrauschens von Sternenbildern durch additive Überlagerung von mehreren Aufnahmen nach Korrektur von Verschiebungen. Zur Korrektur der Verschiebung kann zwischen zwei Verfahren gewählt werden:

normiertes Kovarianzspektrum

Bei dieser Methode wird das Kreuzkorrelationsspektrum des aktuellen Bildes B und seines Vorgängers A zu Hc=fft(A).*conj(fft(B)) berechnet und anschließend betragsmäßig normalisiert. Damit bleibt nur die Phasen- bzw. Verschiebungsinformation erhalten.

Anders ausgedrückt: ist der Phasengang des Spektrums linear, so entspricht das Spektrum nach der Amplitudennormalisierung dem Spektrum eines verschobenen Deltaimpulses. Die Faltung mit diesem Spektrum würde die Verschiebung von B nach A charakterisieren.

Das Kreuzkorrelationsspektrum kann wahlweise auch von wertsegmentierten Kopien der Bilder errechnet werden, damit der Deltaimpuls-Charakter der Sterne stärker zum Tragen kommt.

Anschließend wird diese Phaseninformation genutzt, um die Verschiebung des zweiten Bildes gegenüber dem ersten Bild zu korrigieren: Ha=0.5*(Ha+Hb.*Hc). Die oben beschriebene Faltung wird also im Frequenzbereich umgesetzt. Dieser Vorgang wird mit den weiteren Bildern zum Resultat der vorhergehenden Mittlung wiederholt.

Die Methode funktioniert recht gut, wenn nur Sterne auf dem Bild zu sehen sind und die Änderung zwischen den Bildern sich durch eine globale Translation beschreiben läßt - Aufnahmen gen Süden sind damit optimal.

Punktverfolgung

Bei der 2. Methode wird die Bewegung eines Dreiecks aus 3 markanten Punkten vom aktuellen Bild A zum Nachfolgebild B ermittelt und als affine Transformation beschrieben. Mit dieser Transformation wird das Bild A auf das Bild B vor der additiven Überlagerung abgebildet.

Die markanten Punkte werden nach der Methode der Eigenwertmaximierung (goodFeaturesToTrack()-Funktion von OpenCV) berechnet. Die Bewegung dieser Punkte wird nach dem Lucas-Kanada-Verfahren in das nächste Bild verfolgt.

Aus dieser Abbildung von drei Punkten vom aktuellen zum nächsten Bild kann die affine Abbildungsvorschrift ermittelt werden, welche zur Abbildung einer bewegungskorrigierten Version des aktuellen Bildes auf das nächste Bild genutzt wird. Diese beiden Bilder werden dann jeweils additiv überlagert. Das Resultat ist dann das aktuelle Bild für die nächste Mittelung.

Bildschirmfotos:


Eingangsbild 1.

Eingangsbild 2.

Eingangsbild 3.

Resultat erste Methode.

Resultat zweite Methode.

Downloads:

ovlDen V. 1.0
OpenCV berlagerungsentrauschen.