lut_trans
— Transformation eines Bildes mit einer Grautabelle.
lut_trans(Image : ImageResult : Lut : )
lut_trans
transformiert ein Bild Image
mittels
einer Tabelle Lut
. Die Tabelle funktioniert dabei wie eine
Transformationsfunktion. Für byte-Bilder muss Lut
ein
Tupel der Länge 256 sein. Für int2-Bilder muss Lut
ein
Tupel der Länge 256 <= Länge <= 65536 sein. Falls die Länge von
Lut
<= 32768 ist, wird die Transformation nur auf den
positiven Grauwerten durchgeführt, d.h., das erste Element von
Lut
spezifiziert den neuen Grauwert für den
Eingabegrauwert 0. Falls Lut
länger ist als 32768, so
muss die Länge von Lut
genau 65536 betragen. In diesem
Fall werden sowohl die positiven als auch die negativen Werte
transformiert, wobei das erste Element den neuen Grauwert für den
Eingabegrauwert -32768 spezifiziert, während das letzte Element den
neuen Grauwert für den Eingabegrauwert 32767 spezifiziert. In jedem
Fall werden diejenigen Ausgabegrauwerte, deren Eingabegrauwerte
außerhalb des gültigen Bereiches von Lut
liegen, auf 0
gesetzt. Für uint2-Bilder muss Lut
ein Tupel der Länge
256 <= Länge <= 65536 sein. Grauwerte außerhalb des gültigen
Bereichs von Lut
werden auf 0 gesetzt.
lut_trans
kann auf OpenCL-Geräten ausgeführt werden.
Image
(input_object) (multichannel-)image(-array) →
object (byte* / int2* / uint2*) *erlaubt für Compute Devices
Bild, dessen Grauwerte transformiert werden sollen.
ImageResult
(output_object) (multichannel-)image(-array) →
object (byte / int2 / uint2)
Ergebnisbild.
Lut
(input_control) integer-array →
(integer)
Tabelle, die die Transformation angibt.
* Apply a gamma correction to an image. Gamma := 2.2 GammaLUT := [] for G := 0 to 255 by 1 GammaLUT := [GammaLUT,round(255.0*pow(G/255.0,1.0/Gamma))] endfor read_image (Image, 'mreut') lut_trans (Image, ImageGamma, GammaLUT)
lut_trans
liefert den Wert 2 (H_MSG_TRUE), falls die Parameter
korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
Foundation