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:

  1. Ein konstanter horizontaler Offset zwischen den Halbbildern
    Dreht sich der Kameramann während der Aufnahme, ist das zweite Halbbild horizontal verschoben.

  2. Ein konstanter vertikaler Offset
    Hebt oder senkt man die Kamera während der Aufnehme, verschieben sich die Zeilen der Halbbilder zueinander.

  3. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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)