Digital Signal Processing Reference
In-Depth Information
5 Punktoperationen
public void run(ImageProcessor ip) {
1
int w = ip.getWidth();
Programm 5.1
ImageJ-Plugin-Code fur eine Punkt-
operation zur Kontrasterhohung um
50%. Man beachte, dass in Zeile 7
die Multiplikation eines ganzzahli-
gen Pixelwerts (vom Typ int )mit
der Konstante 1.5 (implizit vom
Typ double ) ein Ergebnis vom Typ
double erzeugt. Daher ist ein expli-
ziter Typecast (int) fur die Zuwei-
sung auf die Variable a notwendig.
2
int h = ip.getHeight();
3
4
5
for (int v = 0; v < h; v++) {
for (int u = 0; u < w; u++) {
6
int a = (int) (ip.getPixel(u, v) * 1.5);
7
if (a > 255)
8
// clamp to max. value
a = 255;
9
ip.putPixel(u, v, a);
10
}
11
}
12
}
13
Eine haufige Anwendung nichthomogener Operationen ist z. B. die selek-
tive Kontrast- oder Helligkeitsanpassung, etwa um eine ungleichmaßige
Beleuchtung bei der Bildaufnahme auszugleichen.
5.1 Anderung der Bildintensitat
5.1.1 Kontrast und Helligkeit
Dazu gleich ein Beispiel: Die Erhohung des Bildkontrasts um 50% (d. h.
um den Faktor 1.5) oder das Anheben der Helligkeit um 10 Stufen ent-
spricht einer homogenen Punktoperation mit der Funktion
f c ( a )= a
·
1 . 5 z .
f b ( a )= a +10 .
(5.3)
Die Umsetzung der Kontrasterhohung als ImageJ-Plugin ist in Prog. 5.1
gezeigt, wobei dieser Code naturlich leicht fur beliebige Punktoperatio-
nen angepasst werden kann.
5.1.2 Beschrankung der Ergebniswerte ( clamping )
Bei der Umsetzung von Bildoperationen muss berucksichtigt werden,
dass der vorgegebene Wertebereich fur Bildpixel beschrankt ist (bei
8-Bit-Grauwertbildern auf [0 ... 255]) und die berechneten Ergebnisse
moglicherweise außerhalb dieses Wertebereichs liegen. Um das zu ver-
meiden, ist in Prog. 5.1 (Zeile 9) die Anweisung
if (a > 255) a = 255;
vorgesehen, die alle hoheren Ergebniswerte auf den Maximalwert 255 be-
grenzt. Dieser Vorgang wird haufig als Clamping“ bezeichnet. Genauso
sollte man i. Allg. auch die Ergebnisse nach unten“ auf den Minimal-
wert 0 begrenzen und damit verhindern, dass Pixelwerte negativ werden,
etwa durch die Anweisung
Search WWH ::




Custom Search