PDF 3.6 MB - jkrieger.de
PDF 3.6 MB - jkrieger.de
PDF 3.6 MB - jkrieger.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5 Bildrepräsentation<br />
Üblicherweise wer<strong>de</strong>n Bil<strong>de</strong>r als Feld im Speicher repräsentiert. Man kann dann mit 1,2,3,... Indizes auf<br />
die einzelnen Pixel zugreifen. Manchmal sind aber auch an<strong>de</strong>re Repräsentationen von nutzen:<br />
5.1 Lauflängenkodierung<br />
Grauwertbil<strong>de</strong>r lassen sich vorteilhaft mit <strong>de</strong>r Lauflängenkodierung (run length encoding, RLE) komprimieren.<br />
Dazu speichert man nicht die Abfolge <strong>de</strong>r Pixel (in je<strong>de</strong>r Zeile) ab, son<strong>de</strong>rn gibt an, wie oft Pixel<br />
hintereinan<strong>de</strong>r vorkommt. Kommt in einer Bildzeile also <strong>de</strong>r Wert w 25-mail hintereinan<strong>de</strong>r, so speichert<br />
man nicht 25 mal <strong>de</strong>n Wert w, son<strong>de</strong>rn die Anzahl 25 und einmal <strong>de</strong>n Wert w. Diese Kompressionsart<br />
wird in einigen Grafikformaten (z.B. TIFF, TGA, BMP) verwen<strong>de</strong>t und eignet sich natürlich vor Allem<br />
für Bil<strong>de</strong>r, in <strong>de</strong>nen auf großen Bereichen <strong>de</strong>r gleiche Grauwert steht. Man muss allerdings beachten,<br />
dass bei Grauwertbil<strong>de</strong>rn noch ein irgendwie gearteter Marker eingeführt wer<strong>de</strong>n muss, um zwischen<br />
Anzahl und Wert zu unterschei<strong>de</strong>n, da sonst alle einzelnen Pixel auf die doppelte Größe (Anzahl 1 +<br />
Pixelwert) aufgeblasen wer<strong>de</strong>n. Hier ein Beispiel:<br />
Daten:<br />
Co<strong>de</strong>:<br />
12 12 12 15 15 14 15 14 20 20 20 20 20 20 20 85 90 10 10 10 10 10 10<br />
3 12 2 15 14 15 14 7 20 85 90 6 10<br />
Anzahl Daten<br />
Diese Kodierung ist bei Schwarz-Weiß-Bil<strong>de</strong>rn beson<strong>de</strong>rs effektiv, weil hier nicht <strong>de</strong>r Wert mit abgespeichert<br />
wer<strong>de</strong>n muss. Denn auf ein schwarzes Gebiet folgt immer ein weißes und umgekehrt. Man nimmt<br />
an, dass <strong>de</strong>r erste Pixel 0 ist. Ist er dies nicht, so speichert man einfach 0 schwarze Pixel am Anfang ab.<br />
Ein Beispiel:<br />
Daten:<br />
Co<strong>de</strong>:<br />
1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1<br />
0 4 2 2 1 1 1 10 9 4<br />
Anzahl<br />
5.2 Quadtree/Octree<br />
Bei <strong>de</strong>r Repräsentation als Quadtree (Octree für 3D) wer<strong>de</strong>n Schwarz-Weiß-Bil<strong>de</strong>r immer wie<strong>de</strong>r in vier<br />
Quadranten unterteilt. Ist ein Quadrant homogen gefärbt, so wird seine Farbe gespeichert. An<strong>de</strong>rnfalls<br />
wird er weiter unterteilt. In Abb. 5.1 ist ein Beispiel gezeigt.<br />
34