lut_transT_lut_transLutTransLutTranslut_trans (Operator)

Name

lut_transT_lut_transLutTransLutTranslut_trans — Transformation eines Bildes mit einer Grauwerttabelle.

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)

def lut_trans(image: HObject, lut: Sequence[int]) -> HObject

Beschreibung

lut_translut_transLutTransLutTransLutTranslut_trans 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_transLutTransLutTransLutTranslut_trans kann auf OpenCL-Geräten ausgeführt werden.

Ausführungsinformationen

Parameter

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

Bild, dessen Grauwerte transformiert werden sollen.

ImageResultImageResultImageResultImageResultimageResultimage_result (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / int2 / uint2)

Ergebnisbild.

LutLutLutLutlutlut (input_control)  integer-array HTupleSequence[int]HTupleHtuple (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_transLutTransLutTransLutTranslut_trans liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Modul

Foundation