illuminateilluminateIlluminateIlluminateilluminate (Operator)

Name

illuminateilluminateIlluminateIlluminateilluminate — 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)

def illuminate(image: HObject, mask_width: int, mask_height: int, factor: float) -> HObject

Beschreibung

illuminateilluminateIlluminateIlluminateIlluminateilluminate dient der Kontrastverbesserung. Sehr dunkle Bildteile werden besser „ausgeleuchtet“, sehr helle „abgedunkelt“. Sei orig der Original Grauwert und mean der mittels mean_imagemean_imageMeanImageMeanImageMeanImagemean_image und Filtergröße MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height x MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width 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 FactorFactorFactorFactorfactorfactor 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 illuminateilluminateIlluminateIlluminateIlluminateilluminate 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

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / int2 / uint2)

Zu verbesserndes Bild.

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

„Ausgeleuchtetes“ Bild.

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width (input_control)  extent.x HTupleintHTupleHtuple (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 mask_width ≤ 299

Minimale Schrittweite: 2

Empfohlene Schrittweite: 10

Restriktion: MaskWidth < width(Image) * 2

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height (input_control)  extent.y HTupleintHTupleHtuple (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 mask_height ≤ 299

Minimale Schrittweite: 2

Empfohlene Schrittweite: 10

Restriktion: MaskHeight < height(Image) * 2

FactorFactorFactorFactorfactorfactor (input_control)  real HTuplefloatHTupleHtuple (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 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

illuminateilluminateIlluminateIlluminateIlluminateilluminate liefert den Wert 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>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

disp_imagedisp_imageDispImageDispImageDispImagedisp_image

Alternativen

scale_image_maxscale_image_maxScaleImageMaxScaleImageMaxScaleImageMaxscale_image_max, equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImageequ_histo_image, mean_imagemean_imageMeanImageMeanImageMeanImagemean_image, sub_imagesub_imageSubImageSubImageSubImagesub_image

Siehe auch

emphasizeemphasizeEmphasizeEmphasizeEmphasizeemphasize, gray_histogray_histoGrayHistoGrayHistoGrayHistogray_histo

Modul

Foundation