| Operatoren |
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.
Bild, dessen Grauwerte transformiert werden sollen.
Ergebnisbild.
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
| Operatoren |