HALCON Reference Manual 10.0.2
Table of Contents / Filters / Enhancement ClassesClassesClasses | | | Operators

equ_histo_imageequ_histo_imageequ_histo_imageEquHistoImageEquHistoImage (Operator)

Name

equ_histo_imageequ_histo_imageequ_histo_imageEquHistoImageEquHistoImage — Histogram linearisation of images

Signature

equ_histo_image(Image : ImageEquHisto : : )

Herror equ_histo_image(const Hobject Image, Hobject* ImageEquHisto)

Herror T_equ_histo_image(const Hobject Image, Hobject* ImageEquHisto)

Herror equ_histo_image(Hobject Image, Hobject* ImageEquHisto)

HImage HImage::EquHistoImage() const

HImageArray HImageArray::EquHistoImage() const

void HOperatorSetX.EquHistoImage(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageEquHisto)

IHImageX* HImageX.EquHistoImage()

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

HImage HImage.EquHistoImage()

Description

The operator equ_histo_imageequ_histo_imageequ_histo_imageEquHistoImageEquHistoImage enhances the contrast. The starting point is the histogram of the input images. The following simple gray value transformation f(g) is carried out for byte images:

                                ----
                                \
                   f(g) = 255 * /    h(x)
                                ----
                              x=0..g

h(x) describes the relative frequency of the occurrence of the gray value x. For uint2 images, the only difference is that the value 255 is replaced with a different maximum value. The maximum value is computed from the number of significant bits stored with the input image, provided that this value is set. If not, the value of the system parameter 'int2_bits'"int2_bits""int2_bits""int2_bits""int2_bits" is used (see set_systemset_systemset_systemSetSystemSetSystem), if this value is set (i.e., different from -1). If none of the two values is set, the number of significant bits is set to 16.

This transformation linearises the cumulative histogram. Maxima in the original histogram are “spreaded” and thus the contrast in image regions with these frequently occuring gray values is increased. Supposedly homogenous regions receive more easily visible structures. On the other hand, of course, the noise in the image increases correspondlingly. Minima in the original histogram are dually “compressed”. The transformed histogram contains gaps, but the remaining gray values used occur approximately at the same frequency (“histogram equalization”).

Attention

The operator equ_histo_imageequ_histo_imageequ_histo_imageEquHistoImageEquHistoImage primarily serves for optical processing of images for a human viewer. For example, the (local) contrast spreading can lead to a detection of fictitious edges.

Parallelization

Parameters

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

Image to be enhanced.

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

Image with linearized gray values.

Possible Successors

disp_imagedisp_imagedisp_imageDispImageDispImage

Alternatives

scale_imagescale_imagescale_imageScaleImageScaleImage, scale_image_maxscale_image_maxscale_image_maxScaleImageMaxScaleImageMax, illuminateilluminateilluminateIlluminateIlluminate

See also

scale_imagescale_imagescale_imageScaleImageScaleImage

References

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

Module

Foundation


Table of Contents / Filters / Enhancement ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH