Digital Signal Processing Reference
In-Depth Information
Zeitaufwand fuhrt. Eine Lookup-Tabelle (LUT) realisiert eine diskrete
Abbildung (Funktion) von den ursprunglichen K Pixelwerten zu den
neuen Pixelwerten, d. h.
5 Punktoperationen
L :[0 ,K
1]
−→
[0 ,K
1] .
(5.36)
Fur eine Punktoperation, die durch die Funktion a = f ( a )definiertist,
erhalt die Tabelle L die Werte
L [ a ] ← f ( a ) ur 0 ≤ a<K
(5.37)
Die Tabelleneintrage werden also nur einmal fur die Werte a =0 ...K
1
berechnet. Um die eigentliche Punktoperation im Bild durchzufuhren, ist
nur ein Nachschlagen in der Tabelle L erforderlich, also
I ( u, v )
L [ I ( u, v )] ,
(5.38)
was wesentlich e zienter ist als jede Funktionsberechnung. ImageJ bietet
die Methode
void applyTable(int[] lut )
fur Objekte vom Typ ImageProcessor , an die eine Lookup-Tabelle lut
( L ) als eindimensionales int -Array der Große K ubergeben wird (s. Bei-
spiel in Prog. 5.4). Der Vorteil ist eindeutig - fur ein 8-Bit-Grauwertbild
z. B. muss in diesem Fall die Abbildungsfunktion (unabhangig von der
Bildgroße) nur 256-mal berechnet werden und nicht moglicherweise mil-
lionenfach. Die Benutzung von Tabellen fur Punktoperationen ist also
immer dann sinnvoll, wenn die Anzahl der Bildpixel ( M
N )dieAn-
zahl der moglichen Pixelwerte K deutlich ubersteigt (was fast immer
zutrifft).
×
5.7.2 Arithmetische Standardoperationen
Die ImageJ-Klasse ImageProcessor stellt außerdem eine Reihe von
haufig benotigten Operationen als entsprechende Methoden zur Ver-
fugung, von denen die wichtigsten in Tabelle 5.2 zusammengefasst sind.
Ein Beispiel fur eine Kontrasterhohung durch Multiplikation mit einem
skalaren double -Wert zeigt folgendes Beispiel:
ImageProcessor ip = ... //some image
ip.multiply(1.5);
Das Bild in ip wird dabei destruktiv verandert, wobei die Ergebnisse
durch Clamping“ auf den minimalen bzw. maximalen Wert des Werte-
bereichs begrenzt werden.
Search WWH ::




Custom Search