Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:mittelstufe:daten_codierung:bildcodierung:s_w_bilder:start [04.11.2024 20:21] – angelegt Svenja Müller | faecher:informatik:mittelstufe:daten_codierung:bildcodierung:s_w_bilder:start [13.11.2024 12:51] (aktuell) – Marco Kuemmel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Schwarz-Weiß-Bilder ====== | ====== Schwarz-Weiß-Bilder ====== | ||
Bearbeite zunächst die Aufgaben 1 und 2 auf der Seite [[https:// | Bearbeite zunächst die Aufgaben 1 und 2 auf der Seite [[https:// | ||
- | Beschreibe anschließend mit eigenen Worten, wie eine Pixelgraphik | + | Beschreibe anschließend mit eigenen Worten, wie eine Pixelgrafik |
Zeile 11: | Zeile 11: | ||
=== (A1) === | === (A1) === | ||
- | Erstelle nun den Quelltext zu einem Bild mit 5 - 8 Zeilen | + | Erstelle nun den Quelltext zu einem Bild mit 5 - 8 Zeilen. |
Tausche den Quelltext mit deinem Nachbarn und decodiere diesen mit Papier und Bleistift. | Tausche den Quelltext mit deinem Nachbarn und decodiere diesen mit Papier und Bleistift. | ||
Zeile 18: | Zeile 18: | ||
=== (A2) === | === (A2) === | ||
- | Decodiere den Binärcode und zeichne die Pixelgraphik. | + | Decodiere den Binärcode und zeichne die Pixelgrafik. |
| | ||
Zeile 28: | Zeile 28: | ||
Erzeuge in einem Texteditor ein PBM Bild mit dem Haus vom Nikolaus. | 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 " | ||
+ | |||
+ | 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 | ||
+ | |||
+ | Die Farbangabe kann auch entfallen (nach schwarz folgt weiß usw.). Nach jedem Byte wechselt also die Farbe. | ||
+ | |||
+ | **Beispiel: | ||
+ | |||
+ | {{ : | ||
+ | __Festlegung: | ||
+ | * Erstes Byte: Breite | ||
+ | * Zweites Byte: Höhe | ||
+ | * Anschließend immer abwechseln 1./ | ||
+ | * 1. Farbe schwarz | ||
+ | |||
+ | Rechtes Bild: Bytefolge (hexadezimal) | ||
+ | |||
+ | <WRAP center round info 75%> | ||
+ | Die **Run Length Encoding**, zu deutsch die Lauflängenkodierung, | ||
+ | Nutze, dass viele Daten Passagen mit sich wiederholenden, | ||
+ | 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 '' | ||
+ | Starte '' | ||
+ | - 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/ | ||
+ | __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>: |