equ_histo_imageequ_histo_imageEquHistoImageEquHistoImage (Operator)

Name

equ_histo_imageequ_histo_imageEquHistoImageEquHistoImage — Histogrammlinearisierung von Bildern

Signatur

equ_histo_image(Image : ImageEquHisto : : )

Herror equ_histo_image(const Hobject Image, Hobject* ImageEquHisto)

Herror T_equ_histo_image(const Hobject Image, Hobject* ImageEquHisto)

void EquHistoImage(const HObject& Image, HObject* ImageEquHisto)

HImage HImage::EquHistoImage() const

static void HOperatorSet.EquHistoImage(HObject image, out HObject imageEquHisto)

HImage HImage.EquHistoImage()

Beschreibung

equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImage dient der Kontrastverbesserung. Ausgangspunkt dafür ist das Histogramm der Eingabebilder. Es wird folgende einfache Grauwerttransformation f(g) für Bilder vom Typ byte durchgeführt: Dabei bezeichnet h(x) die relative Häufigkeit des Auftretens des Grauwertes x. Für Bilder vom Typ uint2 ist der einzige Unterschied, dass statt 255 ein anderer Maximalwert verwendet wird. Dieser Wert wird aus der mit dem Eingabebild abgespeicherten Anzahl signifikanter Bits berechnet, falls dieser Wert gesetzt ist. Ansonsten wird der Wert des Systemparameters 'int2_bits'"int2_bits""int2_bits""int2_bits""int2_bits" verwendet (siehe set_systemset_systemSetSystemSetSystemSetSystem), falls er gesetzt (d.h. ungleich -1) ist. Falls keiner der beiden Werte gesetzt ist, wird die Anzahl signifikanter Bits auf 16 gesetzt.

Diese Transformation linearisiert das kumulative Histogramm. Maxima im ursprünglichen Histogramm werden „gespreizt“ und damit der Kontrast in Bildregionen mit diesen häufig auftretenden Grauwerten erhöht. Vermeintlich homogene Bereiche erhalten so besser sichtbare Strukturen. Andererseits wird natürlich auch das Rauschen im Bild entsprechend verstärkt. Minima im ursprünglichen Histogramm werden dual dazu „gestaucht“. Das transformierte Histogramm enthält dann zwar Lücken, die verbleibenden verwendeten Grauwerte treten aber etwa gleich häufig auf („histogram equalization“).

Achtung

equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImage 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

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

Zu verbesserndes Bild.

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

Bild mit linearisierten Grauwerten.

Nachfolger

disp_imagedisp_imageDispImageDispImageDispImage

Alternativen

scale_imagescale_imageScaleImageScaleImageScaleImage, scale_image_maxscale_image_maxScaleImageMaxScaleImageMaxScaleImageMax, illuminateilluminateIlluminateIlluminateIlluminate

Siehe auch

scale_imagescale_imageScaleImageScaleImageScaleImage

Literatur

R.C. Gonzales, P. Wintz: „Digital Image Processing“; Second edition; Addison Wesley; 1987.

Modul

Foundation