KlassenKlassenKlassenKlassen | | | | Operatoren

lut_transT_lut_transLutTranslut_transLutTransLutTrans (Operator)

Name

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

Herror lut_trans(Hobject Image, Hobject* ImageResult, const HTuple& Lut)

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

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

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

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

void HOperatorSetX.LutTrans(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageResult, [in] VARIANT Lut)

IHImageX* HImageX.LutTrans([in] VARIANT Lut)

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

HImage HImage.LutTrans(HTuple lut)

Beschreibung

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

Achtung

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

Parallelisierung

Parameter

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

Bild, dessen Grauwerte transformiert werden sollen.

ImageResultImageResultImageResultImageResultImageResultimageResult (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / int2 / uint2)

Ergebnisbild.

LutLutLutLutLutlut (input_control)  integer-array HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (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_transLutTranslut_transLutTransLutTrans liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren