Open Source im professionellen Einsatz

Bildbearbeitung mit Qt

Belichtung regeln

Digitale Bildeffekte erfordern meist komplizierte Mathematik. Wirkungsvolle Manipulationen sind jedoch auch mit einfachen Verfahren möglich. Dieser Artikel stellt die Algorithmen vor und implementiert zugleich ein Bildbearbeitungsprogramm mit Qt-Oberfläche.

Digitalkameras sind heute für jedermann erschwinglich. Leider gelingen die Bilder nicht immer wie gewünscht. Oft führt der Weg zum perfekten Bild über digitale Retuschewerkzeuge wie Photoshop oder Gimp. Der Artikel zeigt, wie man entsprechende Bildbearbeitungsfunktionen selbst programmiert und in eigene Projekte integriert: die Korrektur von Helligkeit und Kontrast sowie die Tonwertspreizung. Zwei Dialoge mit je zwei Schiebereglern erlauben es Anwendern, Helligkeit und Kontrast einzustellen und eine Tonwertkorrektur vorzunehmen. Statt in einer verkleinerten Vorschau sieht der Benutzer die Änderungen gleich am Originalbild.

Digitale Bilder bestehen aus einem Raster von Bildpunkten, die Pixel (von Pictures Element) genannt werden. Digitale Kameras oder Scanner speichern für jedes Pixel eine Farbe. Dazu stehen wiederum mehrere Farbmodelle zur Verfügung. Bei Bildern für Computermonitore ist das RGB-Farbmodell üblich.

Ein Pixel besteht aus drei Komponenten, den Lichtgrundfarben Rot, Grün und Blau. Alle drei Kanalwerte liegen als Zahlen im Bild vor. Die Farbe des Pixels entsteht durch additive Farbmischung. Beispielsweise hat ein rotes Pixel in diesem Farbmodell die drei Kanalwerte Rot mit 100 Prozent, Grün 0 Prozent, Blau 0 Prozent, ein schwarzes Pixel (0, 0, 0), ein weißes Pixel (100, 100, 100).

Farbtiefe und Komponenten

Gängige RGB-Farbbilder liegen in einer Farbtiefe von 24 Bit pro Pixel vor. Da sich die Farbtiefe pro Pixel auf drei Kanäle verteilt, stehen für jeden der drei Kanäle 8 Bits zur Verfügung. Das entspricht 256 Helligkeitsstufen pro Kanal. Der maximale Wert beträgt 255 und nicht etwa 256, da der Wertebereich bei null beginnt.

Der Begriff Filter stammt von farbigen oder anders behandelten Gläsern, die man vor Kameraobjektive schraubt. Nutzt der Fotograf bei einer Aufnahme einen Filter, passieren die Lichtstrahlen erst den Filter, bevor sie in das Objektiv eintreten. Dadurch ändert sich die Lichtqualität. Ein Beispiel ist der Skylight- Filter: Landschaftsaufnahmen leiden oft unter einem Blaustich. Ein Tageslicht-Filter ist rötlich getönt und gleicht dadurch diesen Fehler aus.

Filter und Bildpunktoperationen

Filter in der digitalen Bildbearbeitung ahmen solche Prinzipien nach oder gehen sogar darüber hinaus. Ein echter Filter nutzt die physikalischen Eigenschaften behandelten Glases. Da ein digitales Bild als Folge von Zahlen vorliegt, nutzt ein digitaler Filter die Mathematik für das Verändern der Farben. Ein digitaler Filter ist also eine Rechenregel, um ein Quellpixel in ein Zielpixel umzurechnen. Dazu rechnet er für jedes Pixel drei neue Kanalwerte aus. Denkbar sind sowohl Filter, die nur die Kanalwerte des Quellpixels zur Berechnung der Kanalwerte des Zielpixels benötigen, als auch Filter, die zusätzlich Kanalwerte anderer Pixel benutzten. Verwischeffekte (Blur) etwa benutzen die Kanalwerte der Pixel aus der näheren Umgebung.

Nutzt ein Filter tatsächlich nur die Kanalwerte eines Quellpixels spricht man von einer Bildpunktoperation. Die Veränderung von Helligkeit und Kontrast und die Tonwertspreizung sind zum Beispiel Bildpunktoperation. Für die Tonwertspreizung und sogar bei der Korrektur von Helligkeit und Kontrast lässt sich jeder Farbkanal eines Zielpixels unabhängig von den anderen Kanälen des Quellpixels berechnen. Das zugrunde liegende mathematische Modell ist nicht sehr kompliziert.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook