illuminateilluminateIlluminateIlluminate (Operator)

Name

illuminateilluminateIlluminateIlluminate — Ausleuchten von Bildern.

Signatur

illuminate(Image : ImageIlluminate : MaskWidth, MaskHeight, Factor : )

Herror illuminate(const Hobject Image, Hobject* ImageIlluminate, const Hlong MaskWidth, const Hlong MaskHeight, double Factor)

Herror T_illuminate(const Hobject Image, Hobject* ImageIlluminate, const Htuple MaskWidth, const Htuple MaskHeight, const Htuple Factor)

void Illuminate(const HObject& Image, HObject* ImageIlluminate, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Factor)

HImage HImage::Illuminate(Hlong MaskWidth, Hlong MaskHeight, double Factor) const

static void HOperatorSet.Illuminate(HObject image, out HObject imageIlluminate, HTuple maskWidth, HTuple maskHeight, HTuple factor)

HImage HImage.Illuminate(int maskWidth, int maskHeight, double factor)

Beschreibung

illuminateilluminateIlluminateIlluminateIlluminate dient der Kontrastverbesserung. Sehr dunkle Bildteile werden besser „ausgeleuchtet“, sehr helle „abgedunkelt“. Sei orig der Original Grauwert und mean der mittels mean_imagemean_imageMeanImageMeanImageMeanImage und Filtergröße MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight x MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth ermittelte zugehörige Grauwert des tiefpassgefilterten Bildes. Bei byte-Bildern ist val gleich 127, bei int2-Bildern und uint2-Bildern ist val gleich dem Mittelwert. Dann ist der Ergebnisgrauwert new: new = round ( (val - mean) * Factor + orig ). Der Tiefpass sollte dabei recht groß dimensioniert werden (30 x 30 bis 200 x 200). Vernünftige Parameterkombinationen sind etwa: Height Width Factor --------------------- 40 40 0.55 100 100 0.7 150 150 0.8 d.h. je größer die Tiefpassmaske gewählt wird, desto größer sollte auch FactorFactorFactorFactorfactor eingestellt werden.

Hingewiesen sei noch auf folgenden „Scheinwerfereffekt“: Befindet sich in einem Bild beispielsweise ein dunkles Objekt vor einer hellen Wand, so wird das Objekt, in unmittelbarer Nähe der Objektkontur aber auch die ohnehin schon helle Wand durch die Anwendung von illuminateilluminateIlluminateIlluminateIlluminate aufgehellt. Dies entspricht in etwa dem Effekt, der sich durch Anstrahlen des Objekts mit einem starken Scheinwerfer ergeben. Analoges gilt auch für helle Objekte vor einem dunklen Hintergrund. Der fiktive „Scheinwerfer“ verdunkelt nun allerdings Objekte.

Achtung

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / int2 / uint2)

Zu verbesserndes Bild.

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

„Ausgeleuchtetes“ Bild.

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidth (input_control)  extent.x HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite der Tiefpassmaske.

Defaultwert: 101

Wertevorschläge: 31, 41, 51, 71, 101, 121, 151, 201

Typischer Wertebereich: 3 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth ≤ 299

Minimale Schrittweite: 2

Empfohlene Schrittweite: 10

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeight (input_control)  extent.y HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe der Tiefpassmaske.

Defaultwert: 101

Wertevorschläge: 31, 41, 51, 71, 101, 121, 151, 201

Typischer Wertebereich: 3 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight ≤ 299

Minimale Schrittweite: 2

Empfohlene Schrittweite: 10

FactorFactorFactorFactorfactor (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Damit wird der „Korrekturgrauwert“, der zu den Original Grauwerten addiert wird, skaliert.

Defaultwert: 0.7

Wertevorschläge: 0.3, 0.5, 0.7, 1.0, 1.5, 2.0, 3.0, 5.0

Typischer Wertebereich: 0.0 ≤ Factor Factor Factor Factor factor ≤ 5.0

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.2

Restriktion: 0 < Factor && Factor < 5

Beispiel (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
illuminate(Image,Better,40,40,0.55)
dev_display (Better)

Beispiel (C)

read_image(&Image,"fabrik");
disp_image(Image,WindowHandle);
illuminate(Image,&Better,40,40,0.55);
disp_image(Better,WindowHandle); 

Beispiel (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
illuminate(Image,Better,40,40,0.55)
dev_display (Better)

Beispiel (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
illuminate(Image,Better,40,40,0.55)
dev_display (Better)

Beispiel (HDevelop)

read_image(Image,'fabrik')
dev_display (Image)
illuminate(Image,Better,40,40,0.55)
dev_display (Better)

Ergebnis

illuminateilluminateIlluminateIlluminateIlluminate liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

disp_imagedisp_imageDispImageDispImageDispImage

Alternativen

scale_image_maxscale_image_maxScaleImageMaxScaleImageMaxScaleImageMax, equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImage, mean_imagemean_imageMeanImageMeanImageMeanImage, sub_imagesub_imageSubImageSubImageSubImage

Siehe auch

emphasizeemphasizeEmphasizeEmphasizeEmphasize, gray_histogray_histoGrayHistoGrayHistoGrayHisto

Modul

Foundation