equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageequ_histo_image (算子)

名称

equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageequ_histo_image — 图像直方图线性化。

签名

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()

def equ_histo_image(image: HObject) -> HObject

描述

算子 equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImageequ_histo_image 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: 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""int2_bits" is used (see set_systemset_systemSetSystemSetSystemSetSystemset_system), 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 linearizes the cumulative histogram. Maxima in the original histogram are “spreaded” and thus the contrast in image regions with these frequently occurring gray values is increased. Supposedly homogeneous regions receive more easily visible structures. On the other hand, of course, the noise in the image increases correspondingly. 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”).

注意

算子 equ_histo_imageequ_histo_imageEquHistoImageEquHistoImageEquHistoImageequ_histo_image 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.

请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章

执行信息

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / uint2)

Image to be enhanced.

ImageEquHistoImageEquHistoImageEquHistoImageEquHistoimageEquHistoimage_equ_histo (输出对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / uint2)

Image with linearized gray values.

可能的后继

disp_imagedisp_imageDispImageDispImageDispImagedisp_image

替代

equ_histo_image_rectequ_histo_image_rectEquHistoImageRectEquHistoImageRectEquHistoImageRectequ_histo_image_rect, scale_imagescale_imageScaleImageScaleImageScaleImagescale_image, scale_image_maxscale_image_maxScaleImageMaxScaleImageMaxScaleImageMaxscale_image_max, illuminateilluminateIlluminateIlluminateIlluminateilluminate

另见

equ_histo_image_rectequ_histo_image_rectEquHistoImageRectEquHistoImageRectEquHistoImageRectequ_histo_image_rect, scale_imagescale_imageScaleImageScaleImageScaleImagescale_image

参考文献

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

模块

基础