www.stoske.de/digicam

Technische Artikel und Methoden, Experimente, Tricks und Hilfsprogramme
für Digitalkameras und CCD-erzeugte Bilder

©2003-2004 Stoske & Bertling, Visuelle Kommunikation, Velbert, stephan@stoske.de

Programm: DistortionRemove

DistortionRemove 0.8

Hilfsprogramm zum Entfernen von Verzeichnungen auf Basis einer Verzeichnungs-Matrix

DistortionRemove ist das kleine Programm mit dem sich die Verzeichnungen einer Aufnahme wieder entfernen, bzw. korrigieren lassen. Die dazu notwendige Verzeichnungs-Matrix kann mit dem Programm DistortionMatrix individuell für ein Objektiv oder eine digitale Kamera erzeugt werden.

Lesen Sie hierzu unbedingt auch den zugehörigen Artikel Verzeichnungen entfernen.

Kurzanleitung

Zuerst muss über die Auswahl-Taste eine Matrix geladen werden. Die Größe der Matrix und die gespeicherten Infotexte erscheinen dann in dem Textfeld darunter.

Um ein Bild zu korrigieren, muss es mit der Start-Taste ausgewählt werden. Es wird dann geladen, korrigiert und auf gleicher Dateiebene mit gleichem Namen und dem Zusatz "(korr)" wieder abgespeichert.

Es können alle Bildformate geladen werden, die dem System durch die Erweiterung QuickTime bekannt sind. Gespeichert werden die korrigierten Bilder immer im unkomprimierten Systemformat, z.B. Pict auf dem Mac und BMP auf dem PC. Es versteht sich von selbst, das die Größe des Bildes und die der Matrix übereinstimmen müssen.

Bei der Korrektur wird das Bild pixelweise anhand der geladenen Matrix entzerrt. Nach der Transformation wird jeder Punkt über eine bikubische Interpolation berechnet (4x4 = 16 Pixel).
Als Anhaltspunkt zur Geschwindigkeit der Berechnung:
Die Transformation und Interpolation eines RGB-Bildes von 4 Megapixel (2272 x 1704, 11 MB) dauert auf einem älteren Mac (G3 mit 400 MHz) etwa 50 Sekunden.

Die Matrix ist immer waagerecht, je nachdem wie das Bild gedreht ist, muss auch die Berechnung gedreht erfolgen. Deshalb kann mit der Options-Taste in einem Dialog bestimmt werden, ob bei hochkantigen Bildern die untere Kante rechts oder links ist.

- Die wohl naheliegenste Erweiterung ist wohl die Auswahl eines Ordners, statt eines einzelnen Bildes, um gleich mehrere Bilder nacheinander korrigieren zu können. Dabei wäre es sinnvoll, die Orientierung des Bildes aus den Exif-Daten auszulesen und nur wenn diese nicht vorhanden sind, auf die optionale Regel auszuweichen.

- Natürlich liesse sich die Transformation auf auf Bilder mit mehr als 8-Bit ausweiten, z.B. auf 16-Bit oder Fliesskomma-Daten. Auch eine evtl. vorhanden Maske könnte erhalten bleiben und die Transformation mitmachen, womit sie gültig bliebe.

- Die bikubische Interpolation liegt für REALbasic eigentlich strukturell zu tief, die Rechenzeiten dafür sind nicht ganz zeitgemäß. Abhilfe würde hier eine Konvertierung in ein C-PlugIn schaffen, die ausgesprochen einfach zu realisieren ist, wenn man die Bilddaten intern nicht als picture, sondern auch als MemoryBlock speichern würde, so wie die Matrix selber.

- Unter der Voraussetzung einer C-Konvertierung, könnte die Interpolation auch durch hochwertigere Kernels durchgeführt werden (Hamming, Blackman, Kaiser, Windowed Sinc, usw.).

Mögliche Erweiterungen

Ideen zur Ergänzung

Download

Programme für Mac OS9, Mac OSX und Windows

Version 0.8

MAC OS 9 - PPC

DistortionRemovePPC.sit

PPC-Programm für Apple MacOS9, StuffIt™-Datei, 609 kB

Hinweis:
Der Speicherbedarf beträgt viermal die Bildgröße in 32-Bit. Unter Mac OS9 muss dem Programm je nach Bildgröße mehr Speicher zugewiesen werden.
 

MAC OSX - Carbon

DistortionRemoveX.sit

Carbon-Programm für Apple MacOS9 oder MacOSX, StuffIt™-Datei, 756 kB

WINDOWS - EXE

DistortionRemove.zip

Programm (EXE) für Microsoft Windows, zip-Datei, 607 kB

Hinweis:
Unter Windows ist die Installation der QuickTime-Erweiterung erforderlich um die verschiedenen Bildformate laden zu können.

Das Programm wurde mit REALbasic geschrieben und mit einem Mac kompiliert. Die Version für OSX und den PC sind "blind" entstanden (ohne OSX bzw. PC). Ich bitte deshalb kleinere Unstimmigkeiten zu entschuldigen und bin dankbar für Hinweise zu Fehlern.

Download Source-Code

REALbasic™ Projektdatei

Version 0.8
Copyright by Stephan Stoske

DistortionRemoveRB.sit

Ordner mit der Projektdatei und Bildern für REALbasic 4.5.2 oder höher.
StuffIt™-Datei, 42 kB

Der Source-Code kann ab Version 4.5 oder höher benutzt werden und benötigt u.U. einige Versionsspezifische Anpassungen. Der Source kann je nach verwendeter REALbasic-Version für Mac OS9, Mac OSX, Windows und Linux kompiliert werden. Dazu müssen u.U. auch einige Systembedingungen erfüllt sein, wie z.B. QuickTime.

Der Source-Code steht zur Verfügung um Fehler zu beseitigen, das Programm zu erweitern oder individuell anzupassen. Wir begrüßen jede Form der Unterstützung.
Eine private Anwendung ist erlaubt, eine kommerzielle Anwendung ist untersagt.
Wir übernehmen keinerlei Haftung für Umstände oder Schäden die aus der Benutzung des Programmes oder aus inhaltlichen Informationen unserer Texte entstehen und weisen darauf hin, dass eine Benutzung auf eigene Gefahr erfolgt.