Schwarz-Weiß-Bilder

Bearbeite zunächst die Aufgaben 1 und 2 auf der Seite Infschule. Beschreibe anschließend mit eigenen Worten, wie eine Pixelgrafik (S/W) codiert wird.

Das Portable-Bitmap-Format (PBM) ist ein einfaches Format für Schwarz/Weiß- und Graustufen-Bilder. Bilder können mit einem Texteditor erstellt und bearbeitet werden, wenn man das Codierungsprinzip kennt.

(A1)

Erstelle nun den Quelltext zu einem Bild mit 5 - 8 Zeilen an. Tausche den Quelltext mit deinem Nachbarn und decodiere diesen mit Papier und Bleistift.

(A2)

Decodiere den Binärcode und zeichne die Pixelgrafik.

(A3)

Erzeuge in einem Texteditor ein PBM Bild mit dem Haus vom Nikolaus.

Komprimierung mit der Lauflängenkodierung

Grundidee: Wir vermeiden die Wiederholung gleicher Bytefolgen im "Datenstrom".

Direkt aufeinanderfolgende Wiederholungen desselben Wertes werden vermieden. Enthält ein Datenstrom n aufeinanderfolgende Pixel gleicher Farbe, dann wird nur die Farbe, gefolgt von n gespeichert → RLE-Daten (run length encoded data)

Die Farbangabe kann auch entfallen (nach schwarz folgt weiß usw.). Nach jedem Byte wechselt also die Farbe.

Beispiel:

Festlegung:

1. Farbe schwarz

Erstes Byte: Breite

Zweites Byte: Höhe

Anschließend immer abwechseln 1./2./1./2./… Farbe

Rechtes Bild: Bytefolge (hexadezimal)

06 08 00 07 01 05 01 05 01 01 01 03 04 04 01 05 01 08

Die Run Length Encoding, zu deutsch die Lauflängenkodierung, macht sich den Umstand zu Nutze, dass viele Daten Passagen mit sich wiederholenden, identischen Zeichen aufweisen. Diese Wiederholungen werden durch Angaben über die Länge der Sequenz ersetzt. Ein wichtiges Einsatzgebiet ist die Kompression von einfachen Grafiken, die einen hohen Anteil von gleichfarbigen Flächen beinhalten, wie z. B. Skizzen, Diagramme oder technische Zeichnungen. RLE-Verfahren sind beispielsweise Bestandteil von BMP-, TIFF- und PCX- Unterformaten. RLE ist eines der einfachsten Datenkompressionsverfahren und stellt geringe Anforderungen an Soft- und Hardware. Deshalb wurden RLE-Verfahren bereits sehr früh eingeführt und existieren in den unterschiedlichsten Ausprägungen.

(A4)

Die folgende Hex-Byte-Folge enthält ein Bild, das nach dem oben beschriebenen RLE-Verfahren kodiert wurde. Kopiere die Datei ImagEdit.exe aus dem Gruppenverzeichnis in dein Homeverzeichnis. Starte ImagEdit und rekonstruiere das Bild aus den nachfolgenden Daten. Stelle ImagEdit wie folgt ein:

Menü File New…

Bitmap

Stelle unten die Farbe auf monochrom und trage anschließend die Breite und Höhe ein (entnimm diese Werte den ersten zwei Byte der nachfolgenden Daten)

Menü Options Grid

Jetzt kannst du mit der linken/rechten Maustaste schwarze/weiße Pixel zeichnen.

Tipp: Kopiere den Code in einen Texteditor und schreibe hinter jedes Byte die Farbe (s/w), damit du nicht durcheinander kommst. Außerdem kannst du bereits gezeichnete Bytes löschen.

09 1C 00 0A 01 05 01 02 07 02 01 05 01 0E 02 06
04 04 05 03 05 05 05 05 04 06 02 0D 01 05 01 02
07 02 01 05 01 0B 05 07 01 09 01 08 01 04 04 11
01 05 06 06 01 02 01 08 01 0A

Filename	Filesize	Last modified
imagedit.exe.zip	36.9 KiB	13.11.2024 08:12