DeInterlacer V1.2 – von Daniel Kuhn
Dieses Dokument ist in englisch und deutsch verfügbar.
Einleitung
Dies ist wieder mal eins der Programme, die
geschrieben werden um ein Problem eines Bekannten zu lösen. Dieses
Mal wollte er ein Standbild von seinem Camcorder aufnehmen, aber hatte Probleme
mit dem Interlacing der Bilder. Wie viele Camcorder nimmt dieser Halbbilder auf
(also enthält jedes echte Bild nur jede zweite Zeile) und setzt dann zwei davon
zu einem Vollbild zusammen. Das funktioniert für Videos eigentlich ganz gut, es
tauchen bei Standbildern jedoch ein paar Problemchen auf:
- Ein konstanter horizontaler Offset zwischen den Halbbildern
Dreht sich der Kameramann während der Aufnahme, ist das zweite Halbbild horizontal
verschoben.
- Ein konstanter vertikaler Offset
Hebt oder senkt man die Kamera während der Aufnehme, verschieben sich die
Zeilen der Halbbilder zueinander.
- Nichtkonstante horizontale Fehler
Dreht man die Kamera während des Filmens, können die Halbbilder gegeneinander verdreht sein.
Daher habe ich ein kleines Progrämmchen geschrieben um diese Fehler zu korrigieren.
Da ich so was noch nicht im Netz gefunden habe, stelle ich es hiermit zur Verfügung.
Wie immer gilt: Ich übernehme keine Verantwortung für Datenverlust oder irgendwelche anderen
durch diese Software entstehenden Probleme. Auch garantiere ich nicht, dass dieses
Programm die beschriebene Funktionalität erfüllt.
Bitte bedenkt: Nichts ist verlustfrei. Dieses Programm schneidet überschüssige Pixel am Rand ab.
Um die Bildgröße nicht zu verändern wird einfach alles, was sich durch die Verschiebungen außerhalb des
Originalbildes befindet beim Speichern entfernt.
Wie funktioniert's?
Ich werde das kurz an einem Bild erklären, daß ich für Testzwecke beigelegt habe
(Ist doch niedlich, oder?) – es zeigt alle drei hier beschriebenen Fehler und ist natürlich ein Fake,
aber zum Erklären praktisch. Meiner Erfahrung nach ist es am besten mit dem untersten der drei Regler zu
beginnen, und sich nach oben durchzuarbeiten. Natürlich kann es am Ende etwas
Fingerspitzengefühl erfordern, das beste Ergebis zu erhalten.
- Vorbereitung
Klicke "Load" und lade das Bild. Es muss im Bitmap-Format (BMP) sein und eine der Standard
Farbtiefern (8, 16, 24, 32 bit) haben. Wenn Du Probleme beim Laden eines Bilds hast, stelle sicher, dass die
Farbtiefe stimmt. Sonderformate wie z.B. 30 bit werden nicht unterstützt.
- Korrektur des vertikalen Versatzes
Versuche zuerst einmal negative Zahlen im dritten Regler einzustellen. Du wirst
sehen, dass die Geisterbilder auseinanderlaufen, also ist das die falsche
Richtung. Wenn Du einen positiven Wert einstellst, wird die Bildqualität schon besser.
Stelle den Wert ein, wo Du denkst, daß der Fehler minimal wird.
- Korrektur eines Drehungs-Versatzes
Siehst Du wie obere und untere Hälfte unterschiedlich verdreht sind? Versuche das mit dem mittleren Regler
auszugleichen, so dass der Fehler überall gleich groß ist.
- Korrektur des horizontalen Versatzes
Jetzt verschiebe die beiden Halbbilder mit dem obersten Regler so, daß sie übereinanderliegen. Natürlich ist
das Testbild nicht ganz scharf, welches reale Bild wäre das auch schon? Zum Schluß solltest
Du noch einmal alle Parameter überprüfen, ob sie korrekt justiert sind, evtl. sind
noch ein paar Nachjustagen notwendig.
- Letzte Schritte
Für das Testbild sind die korrekten Werte übrigens –5 / 10 / 2. Auch dabei sieht man noch eine leichte
Verzerrung der vertikalen Linie im Hintergrund – das zeigt die Grenzen dieses recht
einfachen Ansatzes: Es werden nur Pixel verschoben, keine Fehler im Bild
korrigiert. Abspeichern kannst Du das fertige Bild jetzt mit dem "Save" Button.
Versionshistorie
V1.0 | - | Erste Version |
V1.1 | - | Keine Ahnung mehr, was ich da geändert habe. |
V1.2 | - | Bugfix: Einige Bilder haben das Programm beim Laden zum Absturz gebracht (Danke an Michael Protzen für die Fehlermeldung) |