lut_transT_lut_transLutTransLutTrans (Operator)

Name

lut_transT_lut_transLutTransLutTrans — Transformation eines Bildes mit einer Grautabelle.

Signatur

lut_trans(Image : ImageResult : Lut : )

Herror T_lut_trans(const Hobject Image, Hobject* ImageResult, const Htuple Lut)

void LutTrans(const HObject& Image, HObject* ImageResult, const HTuple& Lut)

HImage HImage::LutTrans(const HTuple& Lut) const

static void HOperatorSet.LutTrans(HObject image, out HObject imageResult, HTuple lut)

HImage HImage.LutTrans(HTuple lut)

Beschreibung

lut_translut_transLutTransLutTransLutTrans transformiert ein Bild ImageImageImageImageimage mittels einer Tabelle LutLutLutLutlut. Die Tabelle funktioniert dabei wie eine Transformationsfunktion. Für byte-Bilder muss LutLutLutLutlut ein Tupel der Länge 256 sein. Für int2-Bilder muss LutLutLutLutlut ein Tupel der Länge 256 <= Länge <= 65536 sein. Falls die Länge von LutLutLutLutlut <= 32768 ist, wird die Transformation nur auf den positiven Grauwerten durchgeführt, d.h., das erste Element von LutLutLutLutlut spezifiziert den neuen Grauwert für den Eingabegrauwert 0. Falls LutLutLutLutlut länger ist als 32768, so muss die Länge von LutLutLutLutlut 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 LutLutLutLutlut liegen, auf 0 gesetzt. Für uint2-Bilder muss LutLutLutLutlut ein Tupel der Länge 256 <= Länge <= 65536 sein. Grauwerte außerhalb des gültigen Bereichs von LutLutLutLutlut werden auf 0 gesetzt.

Achtung

lut_translut_transLutTransLutTransLutTrans kann auf OpenCL-Geräten ausgeführt werden.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte* / int2* / uint2*) *erlaubt für Compute Devices

Bild, dessen Grauwerte transformiert werden sollen.

ImageResultImageResultImageResultImageResultimageResult (output_object)  (multichannel-)image(-array) objectHImageHImageHobject * (byte / int2 / uint2)

Ergebnisbild.

LutLutLutLutlut (input_control)  integer-array HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Tabelle, die die Transformation angibt.

Beispiel (HDevelop)

* 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)

Ergebnis

lut_translut_transLutTransLutTransLutTrans liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation