Praxismodul 7 Agenda für heute, 15. Juni, 2006 Dateiformate Rastergraphikformat
Praxismodul 7: Bildanalyse Problemstellung: Anteil der Waldfläche auf der Luftaufnahme eines Geländeausschnittes Programmiermethodik: Spiralmodell Inkrementelles Vorgehen 1. Bild einlesen, anzeigen, manipulieren 2. Pixel, die Wald darstellen erkennen und zählen 3. Angenäherte Lösung entwickeln (MC Methode) 2/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Praxismodul 7 Dateiformate Rastergraphikformat
Datenformate: Beispiele verschiedener Kategorien ASCII Text Unicode Ganze Zahlen Zahlen Gleitkommazahlen z.B. digitale Bilder Rastergrafik Grafik Vektorgrafik Anwendungen Praktisch keine Standards 3/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
7 Bits codieren Textzeichen Zeichensatzgrösse = 27 = 128 Zeichen Text: ASCII 7 Bits codieren Textzeichen Zeichensatzgrösse = 27 = 128 Zeichen Binär Dezimal Textzeichen 0110001 0100000 1000010 1110101 1101110 1100100 1100101 1110011 1110010 1100001 1110100 49 32 66 117 110 100 101 115 114 97 116 1 Leerzeichen B u n d e s r a t 4/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Text: Unicode Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language www.unicode.org Binär Hexadezimal Textzeichen 0000 0000 0101 1101 0000 0000 0011 0010 5D 32 ] 2 5/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Unicode: Code chart, Controls and Basic Latin 6/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
1 Byte (8 Bit) = Wertebereich 0..255 Ganze Zahlen 1 Byte (8 Bit) = Wertebereich 0..255 Dezimal- binäre Darstellung Dezimal- binäre Darstellung wert ohne Vorzeichen wert mit Vorzeichen 0 0000 0000 -128 1 000 0000 1 0000 0001 -127 1 000 0001 127 0111 1111 -1 1 111 1111 128 1000 0000 0 0 000 0000 254 1111 1110 1 0 000 0001 255 1111 1111 127 0 111 1111 Wert Wert Vorzeichen 7/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Gleitkommazahlen (floating point numbers) 0 11000101 00000100001011101011101 8/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Wieso "gleitet" das Komma? Beispiel: 0.00125 0.00125 = 0.00125 x 100 = 0.0125 x 10-1 = 0.125 x 10-2 Mantisse = 0.125 Exponent = –2 Grund: Erlaubt die Darstellung sehr kleiner Zahlen auch wenn für die Mantisse wenig Bits zur Verfügung stehen (kleine Präzision). 9/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Praxismodul 7 Dateiformate Rastergraphikformat
Zwei grundsätzliche Grafikformate Rastergrafik (aufgereihte Bildpunkte) Vektorgrafik (Linienzüge, Kurven) Skalierbar ohne Qualitätseinbusse Qualitätsverlust bei Skalierung 10/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Prinzip der Vektorgrafik Listen mit Befehlen und Koordinaten geben einem Grafikprogramm an, was wo wie zu zeichnen ist. Beispiel (PostScript Standard) Die Instruktionsfolge: newpath 50 50 moveto 50 70 lineto 40 60 moveto 60 60 lineto 50 60 10 0 360 arc stroke showpage Zeichnet einen Kreis mit Radius 10 um ein Fadenkreuz am Punkt 50, 60: 60 50 11/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Prinzip der Rasterdaten Daten auf dem Bildschirm: Pixel Farbe rot 1 2 blau 3 gelb . . . grün 1024 1025 schwarz 1026 12/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich
Prinzip der Rasterdaten Darzustellende Daten (Pixel): Pixelfarbe codiert (Bsp.): RGB-Komponenten der Farben: rot blau gelb . . . grün schwarz 4 1 14 . . . 2 Code rot grün blau 255 1 2 3 44 172 212 4 . . . 14 1 1 2 2 3 3 türkis 3 1024 1024 1025 1025 1026 1026 13/13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich