====== Schwarz-Weiß-Bilder ======
Bearbeite zunächst die Aufgaben 1 und 2 auf der Seite [[https://www.inf-schule.de/information/darstellunginformation/binaerdarstellungbilder/einstieg_schwarzweiss|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.
----
{{:aufgabe.png?nolink |}}
=== (A1) ===
Erstelle nun den Quelltext zu einem Bild mit 5 - 8 Zeilen.
Tausche den Quelltext mit deinem Nachbarn und decodiere diesen mit Papier und Bleistift.
{{:aufgabe.png?nolink |}}
=== (A2) ===
Decodiere den Binärcode und zeichne die Pixelgrafik.
$00000110$ $00001000$ $11111110$ $11111011$ $11101011$ $10000111$ $10111110$ $11111111$
{{:aufgabe.png?nolink |}}
=== (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:**
{{ :faecher:informatik:mittelstufe:daten_codierung:bildcodierung:s_w_bilder:rle4.png?250|}}
__Festlegung:__
* Erstes Byte: Breite
* Zweites Byte: Höhe
* Anschließend immer abwechseln 1./2./1./2./... Farbe
* 1. Farbe schwarz
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.
----
{{:aufgabe.png?nolink |}}
=== (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** $\rightarrow$ **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** $\rightarrow$ **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
----
{{simplefilelist>:faecher:informatik:mittelstufe:daten_codierung:bildcodierung:s_w_bilder:*.zip}}