equ_histo_image_rectequ_histo_image_rectEquHistoImageRectEquHistoImageRectequ_histo_image_rect (Operator)

Name

equ_histo_image_rectequ_histo_image_rectEquHistoImageRectEquHistoImageRectequ_histo_image_rect — Histogrammlinearisierung innerhalb einer rechteckigen Maske.

Signatur

equ_histo_image_rect(Image : ImageEquHisto : Mode, MaskWidth, MaskHeight, MaxContrast : )

Herror equ_histo_image_rect(const Hobject Image, Hobject* ImageEquHisto, const char* Mode, const Hlong MaskWidth, const Hlong MaskHeight, double MaxContrast)

Herror T_equ_histo_image_rect(const Hobject Image, Hobject* ImageEquHisto, const Htuple Mode, const Htuple MaskWidth, const Htuple MaskHeight, const Htuple MaxContrast)

void EquHistoImageRect(const HObject& Image, HObject* ImageEquHisto, const HTuple& Mode, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& MaxContrast)

HImage HImage::EquHistoImageRect(const HString& Mode, Hlong MaskWidth, Hlong MaskHeight, const HTuple& MaxContrast) const

HImage HImage::EquHistoImageRect(const HString& Mode, Hlong MaskWidth, Hlong MaskHeight, double MaxContrast) const

HImage HImage::EquHistoImageRect(const char* Mode, Hlong MaskWidth, Hlong MaskHeight, double MaxContrast) const

HImage HImage::EquHistoImageRect(const wchar_t* Mode, Hlong MaskWidth, Hlong MaskHeight, double MaxContrast) const   (Nur Windows)

static void HOperatorSet.EquHistoImageRect(HObject image, out HObject imageEquHisto, HTuple mode, HTuple maskWidth, HTuple maskHeight, HTuple maxContrast)

HImage HImage.EquHistoImageRect(string mode, int maskWidth, int maskHeight, HTuple maxContrast)

HImage HImage.EquHistoImageRect(string mode, int maskWidth, int maskHeight, double maxContrast)

def equ_histo_image_rect(image: HObject, mode: str, mask_width: int, mask_height: int, max_contrast: Union[float, int]) -> HObject

Beschreibung

equ_histo_image_rectequ_histo_image_rectEquHistoImageRectEquHistoImageRectEquHistoImageRectequ_histo_image_rect dient der Kontrastverbesserung. Ähnlich zu equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImageequ_histo_image wird dabei eine Grauwerttransformation durchgeführt, die das kumulative Histogramm linearisiert. Anstatt des gesamten Bildes wird jedoch nur die lokale Nachbarschaft eines Pixels betrachtet, um die Transformation zu berechnen. Die Breite und Höhe dieser rechteckigen Nachbarschaftsregion wird durch die Parameter MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width und MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height bestimmt.

Die lokale Kontrastmaximierung verbessert die Sichtbarkeit von Strukturen mit schwachem Kontrast, verstärkt aber auch das Rauschen im Bild. Der Parameter MaxContrastMaxContrastMaxContrastMaxContrastmaxContrastmax_contrast kann benutzt werden, um den maximalen Kontrast in einer lokalen Nachbarschaft zu beschränken und die Verstärkung des Rauschens zu mildern. Diese Methode wird auch als Contrast-Limited Adaptive Histogram Equalization (CLAHE) bezeichnet.

Der Parameter ModeModeModeModemodemode legt den Verarbeitungsmodus fest. Im Modus 'accurate'"accurate""accurate""accurate""accurate""accurate" wird die Transformation für jeden Pixel so durchgeführt wie oben beschrieben. Im Modus 'fast'"fast""fast""fast""fast""fast" wird die Transformation nur für eine Teilmenge aller Pixel berechnet und zwischen diesen Punkten interpoliert. Aufgrund dieser Interpolation können die Ergebnisse der beiden Modi deutlich voneinander abweichen.

Achtung

equ_histo_image_rectequ_histo_image_rectEquHistoImageRectEquHistoImageRectEquHistoImageRectequ_histo_image_rect dient in erster Linie der optischen Aufbereitung von Bildern für einen menschlichen Betrachter. So kann beispielsweise die durchgeführte (lokale) Kontrastspreizung in der Folge zur Detektion von Scheinkanten führen.

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)

Zu verbesserndes Bild.

ImageEquHistoImageEquHistoImageEquHistoImageEquHistoimageEquHistoimage_equ_histo (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte)

Bild mit linearisierten Grauwerten.

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Verarbeitungsmodus.

Defaultwert: 'accurate' "accurate" "accurate" "accurate" "accurate" "accurate"

Wertevorschläge: 'accurate'"accurate""accurate""accurate""accurate""accurate", 'fast'"fast""fast""fast""fast""fast"

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width (input_control)  extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite der Filtermaske.

Defaultwert: 51

Wertevorschläge: 31, 51, 101, 151

Typischer Wertebereich: 1 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth mask_width

Minimale Schrittweite: 2

Restriktion: MaskWidth <= width(Image)

MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height (input_control)  extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe der Filtermaske.

Defaultwert: 51

Wertevorschläge: 31, 51, 101, 151

Typischer Wertebereich: 1 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight mask_height

Minimale Schrittweite: 2

Restriktion: MaskHeight <= height(Image)

MaxContrastMaxContrastMaxContrastMaxContrastmaxContrastmax_contrast (input_control)  real HTupleUnion[float, int]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Maximal zulässiger Kontrast.

Defaultwert: 0.01

Wertevorschläge: 0, 0.01, 0.02, 0.05, 0.1, 0.5, 1

Typischer Wertebereich: 0 ≤ MaxContrast MaxContrast MaxContrast MaxContrast maxContrast max_contrast ≤ 1

Komplexität

Im Modus ModeModeModeModemodemode='accurate'"accurate""accurate""accurate""accurate""accurate" verwendet equ_histo_image_rectequ_histo_image_rectEquHistoImageRectEquHistoImageRectEquHistoImageRectequ_histo_image_rect einen Algorithmus mit konstanter Komplexität pro Pixel, so dass die Laufzeit des Operators nur von der Eingabebildgröße und nicht von der Maskengröße abhängt.

Im Modus ModeModeModeModemodemode='fast'"fast""fast""fast""fast""fast", hängt die Anzahl der zu berechnenden Histogramme von der Maskengröße ab. Daher erhöht sich die Laufzeit bei kleinen Maskengrößen und verringert sich bei großen Maskengrößen.

Nachfolger

disp_imagedisp_imageDispImageDispImageDispImagedisp_image

Alternativen

equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImageequ_histo_image, scale_imagescale_imageScaleImageScaleImageScaleImagescale_image, scale_image_maxscale_image_maxScaleImageMaxScaleImageMaxScaleImageMaxscale_image_max, illuminateilluminateIlluminateIlluminateIlluminateilluminate

Siehe auch

equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImageequ_histo_image, scale_imagescale_imageScaleImageScaleImageScaleImagescale_image

Literatur

S. Pizer et al.: „Adaptive Histogram Equalization and Its Variations“. Computer Vision, Graphics, and Image Processing 39, pp. 355-368, 1987.

Modul

Foundation