Digital Signal Processing Reference
In-Depth Information
12
Farbbilder
Pixel-Array
Index
P
R
P
G
P
B
r
0
g
0
b
0
Abbildung 12.5
RGB-Indexbild. Das Bildarray selbst
enthalt keine Farbwerte, sondern fur
jedes Pixel einen Index
k
. Der ei-
gentliche Farbwert wird durch den
zugehorigen Eintrag in der Farb-
tabelle (Palette)
P
[
k
] definiert.
0
1
2
r
1
g
1
b
1
r
2
g
2
b
2
v
k
k
r
k
g
k
b
k
N −
1
r
N−
1
g
N−
1
b
N−
1
u
Farbtabelle
P
Abbildung 12.6
Aufbau eines RGB-Farbpixels
in ImageJ. Innerhalb eines 32-
Bit-
int
-Worts sind jeweils 8 Bits
den Farbkomponenten
R
,
G
,
B
sowie dem (nicht benutzten)
Transparenzwert
α
zugeordnet.
α
R
G
B
Bits
RGB-Vollfarbenbilder
RGB-Farbbilder in ImageJ haben eine gepackte Anordnung (siehe Ab-
schn. 12.1.1), wobei jedes Farbpixel als 32-Bit-Wort vom Typ
int
darge-
stellt wird. Wie Abb. 12.6 zeigt, stehen fur jede der
RGB
-Komponenten
8 Bit zur Verfugung, der Wertebereich der einzelnen Komponenten ist
somit auf 0
...
255 beschrankt. Weitere 8 Bit sind fur den Transparenz-
wert
3
α
vorgesehen, und diese Anordnung entspricht auch dem in Java
4
allgemein ublichen Format fur RGB-Farbbilder.
Zugriff auf RGB-Pixelwerte
Die Elemente des Pixel-Arrays eines RGB-Farbbilds sind vom Java-
Standarddatentyp
int
. Die Zerlegung des gepackten
int
-Werts in die
drei Farbkomponenten erfolgt durch entsprechende Bitoperationen, also
Maskierung und Verschiebung von Bitmustern. Hier ein Beispiel, wobei
wir annehmen, dass
ip
der Image-Prozessor eines RGB-Farbbilds ist:
1
int c = ip.getPixel(u,v);
// a color pixel
2
int r = (c & 0xff0000) >> 16;
// red value
3
int g = (c & 0x00ff00) >> 8;
// green value
4
int b = (c & 0x0000ff);
// blue value
Dabei wird fur jede der
RGB
-Komponenten der gepackte Pixelwert
c
zunachst durch eine bitweise UND-Operation (
&
) mit einer zugehorigen
3
Der Transparenzwert
α
(Alphawert) bestimmt die
”
Durchsichtigkeit“ eines
Farbpixels gegenuber dem Hintergrund oder bei Uberlagerung mehrere Bil-
der. Der
α
-Komponente wird derzeit in ImageJ nicht verwendet.
4
Java Advanced Window Toolkit - AWT (
java.awt
).