07.12.2012 Aufrufe

Erdfernerkundung - Numerische Physik: Modellierung

Erdfernerkundung - Numerische Physik: Modellierung

Erdfernerkundung - Numerische Physik: Modellierung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

9.2. BILDER IN MATLAB 369<br />

können; allerdings macht ein solches Programm meistens etwas ohne das wir wirklich wissen,<br />

was es macht. Die Bildbearbeitung in MatLab erlaubt es uns, den Prozess mit Hilfe eines<br />

uns bekannten Algorithmus zu steuern und nicht nur nach dem Kriterium, ob das Ergebnis<br />

gefällt. Fall Sie nicht mit MatLab sondern einem vorgefertigten Programmpaket mit sehr<br />

vielen und teilweise sehr speziellen Fähigkeiten spielen möchten, empfehle ich [180].<br />

§ 1184 Ausgangspunkt ist ein digitales Bild in der Datei inpig. Die Endung der Datei sollte<br />

zweckmäßigerweise die Information über das Format enthalten; MatLab akzeptiert u.a. die<br />

folgenden Eingabeformate: BMP (Microsoft Windows Bitmap), GIF (Graphics Interchange Files),<br />

HDF (Hierarchical Data Format), JPEG (Joint Photographic Experts Group), PCX (Paintbrush),<br />

PNG (Portable Network Graphics), TIFF (Tagged Image File Format) und XWD (X<br />

Window Dump). Mit Hilfe des Befehls<br />

>> [PIG] = imread(’inpig’,’gif’);<br />

oder in verkürzter Form<br />

>> [PIG] = imread(’inpig.gif’);<br />

wird die Bildinformation des GIF-File inpic.gif der Variblen PIG zugewiesen. Bei einem nur<br />

aus Grauwerten bestehenden Bild ist PIG eine n × m-Matrix; bei einem RGB-Bild wird ein<br />

dreidimensionales Array mit der Dimension n × m × 3 erzeugt. 1<br />

§ 1185 Im Regelfall, d.h. für die gängigen Bildformate, sind die Elemente von PIG 8-Bit<br />

Integer Werte (uint8, wie ein Blick in den Workspace zeigt). Die Einschränkung sollten wir bei<br />

allen Bearbeitungen der Datei im Hinterkopf behalten: Filterungen und Mittelwertbildungen<br />

sind in einem anderen Zahlenraum meist praktischer!<br />

9.2.1 Kombination von Spektralkanälen<br />

§ 1186 Verwenden wir Abb. 3.48 und 3.49 als Beispiel. Die Bilder in Abb. 3.48 können von<br />

[398] herunter geladen werden. Sie enthalten jeweils die Grauwerte für einen einzelnen Kanal.<br />

Lesen wir sie mit<br />

>> [P1] = imread(’band1.jpg’);<br />

ein, so wird jeder Kanal in ein 850 × 1100 uint8 Array geschrieben.<br />

§ 1187 Zur Kombination verschiedener Kanäle müssen wir die entsprechende Arrays zusammenfügen.<br />

Dazu stellt MatLab mit Concatenate cat eine geeignete Funktion zur Verfügung.<br />

Die Reihenfolge der Arrays ist dabei derart, dass entsprechend dem RGB-Schema der erste<br />

Kanal in Rot, der zweite in Grün und der Dritte in blau dargestellt wird. Die Befehlssequenz<br />

für das im linken Teil von Abb. 3.49 gezeigte Bild in echten Farben ist dann<br />

>> kombi321 = cat(3,P3,P2,P1);<br />

§ 1188 Zur schnellen Überprüfung können wir uns das Bild ansehen mit<br />

>> image(kombi321);<br />

Für die spätere Weiterverarbeitung lässt sich das Bild z.B. mit<br />

>> imwrite(kombi321,’outpig.png’,’png’)<br />

in die PNG-Datei outpig.png schreiben.<br />

§ 1189 Bis Sie alle 3er Kombinationen aus den sieben Kanälen ausprobiert haben, sind sie<br />

wahrscheinlich einige Zeit beschäftigt. Abbildung 9.1 zeigt einige der Kombinationsmöglichkeiten.<br />

1 Bei speziellen Codierungen im CYKM Schema entsteht ein n×m×4 Array – MatLab erkennt dies jedoch<br />

aus der Dateistruktur, als Nutzer müssen wir das nicht separat spezifizieren. Ein Blick in den Workspace zeigt,<br />

welche Struktur die Variable PIG hat.<br />

c○ M.-B. Kallenrode 2. Juli 2008

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!