Benutzer-Werkzeuge

Webseiten-Werkzeuge


grundlagen_der_bildverarbeitung

Dies ist eine alte Version des Dokuments!


Grundlagen der Bildverarbeitung

Dieser Abschnitt erklärt Grundbegriffe der digitalen Bildverarbeitung. Vorerst werden nur pixelbasierte Bilder betrachtet. Vektorgrafiken werden nicht behandelt.

Als erste Anwendung werden aus einem gegebenen Farbbild ROT-, GRÜN- und BLAU-Bilder, sowie Histogramme erstellt.

Pixelzahl eines Bildes

Jedes Bild (z.B. PNG oder JPEG) besitzt eine bestimmte Breite (X) und Höhe (Y). Diese beiden Angaben legen die Anzahl der Bildpunkte (Pixel) fest. Alle Bildpunkte zusammen bilden den Bildbereich:

Pixelzahl eines Bildes = Breite · Höhe
oder
Bildbereich M = X · Y
Bildbereich M und Bildpunkte (Pixel). Der Farbwert w von jedem Pixel kann in einer Tabelle W gespeichert werden. W ist also die Menge aller Farbwerte.

Jeder Bildpunkt besitzt einen Farbwert. Die Menge aller Farbwerte wird mit W bezeichnet.\

Ein digitalisiertes Bild (b) ist eine Abbildung, bei der jeder Bildpunkt aus der Menge M des Bildbereiches einen Farbwert zugewiesen bekommt.

Definiton: Digitalisiertes Bild: b: M → W
M ist der Bildbereich
W ist die Menge aller Farbwerte

Das RGB System und Java

Eine Farbe ist durch ihre Anteile an den drei Grundfarben rot, grün und blau definiert. Dieses sogenannte RGB-System (Rot-Grün-Blau-System) basiert auf der additiven Farbmischung und ist nur eines von mehreren Farbmodellen, das für unsere Zwecke aber vollkommen ausreicht

Da jede der drei Grundfarben in 256 Stufen (0 - 255) dargestellt werden kann, lassen sich im RGB System ca. 16,7 Mio. verschiedene Farben definieren.

  • 256 Rotwerte · 256 Grünwerte · 256 Blauwerte = 16 777 216 ≈ 16.7 Mio. Farben

Für Java gilt nun , dass jeder Bildpunkt ein Objekt (Variable) vom Typ Color ist. Das folgende Codefragment erzeugt alle Farben die im Bild zu sehen sind:


Color rot = Color(255,0.0);
Color green = Color(0,255.0);
Color blue = Color(0,0,255); 
Color magenta = Color(255,0.255);
Color cyan = Color(0,255,255);
Color gelb = Color(255,255,0);
Color black = Color(0,0,0);
Color white = Color(255,255,255);


Im RGB-System erhält jede Farbe einen bestimmten Anteil an rot, grün und blau.
  • Color( int r, int g, int b ) erzeugt ein Color-Objekt mit den Grundfarben rot, grün und blau. Die Werte müssen im Bereich 0 bis 255 liegen. Jeder Farbwert ist also 1 byte = 8 bit groß.
  • Die Methoden: int getRed(), int getGreen(), int getBlue() liefern jeweils den Rot-, Grün- und Blau-Anteil des Farbobjekts zurück. Jeder Farbwert ist dabei eine Zahl im Bereich von 0 bis 255.
  • Color SCHWARZ = Color(0,0,0)
  • Color WEISS = Color(255,255,255)

Color-Objekt

Ein Color-Objekt ist 32 Bit groß. Das letzte Byte, der α-Wert, ist die Transparenz (Deckkraft).

Bit: 0-7 Rot-Wert Wertebereich 0-255

Bit: 0-7 Rot-Wert Wertebereich 0-255

Bit: 0-7 Rot-Wert Wertebereich 0-255

Bit: 0-7 Rot-Wert Wertebereich 0-255

Aufbau java.awt.Color-Objekt

Rot-, Grün-, und Blaubilder

Histogramme

grundlagen_der_bildverarbeitung.1705739959.txt.gz · Zuletzt geändert: 2024/01/20 08:39 von torsten.roehl