eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxeliminate_min_max (算子名称)

名称

eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxeliminate_min_max — Smooth an image in the spatial domain to suppress noise.

参数签名

eliminate_min_max(Image : FilteredImage : MaskWidth, MaskHeight, Gap, Mode : )

Herror eliminate_min_max(const Hobject Image, Hobject* FilteredImage, const Hlong MaskWidth, const Hlong MaskHeight, double Gap, const Hlong Mode)

Herror T_eliminate_min_max(const Hobject Image, Hobject* FilteredImage, const Htuple MaskWidth, const Htuple MaskHeight, const Htuple Gap, const Htuple Mode)

void EliminateMinMax(const HObject& Image, HObject* FilteredImage, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Gap, const HTuple& Mode)

HImage HImage::EliminateMinMax(Hlong MaskWidth, Hlong MaskHeight, double Gap, Hlong Mode) const

static void HOperatorSet.EliminateMinMax(HObject image, out HObject filteredImage, HTuple maskWidth, HTuple maskHeight, HTuple gap, HTuple mode)

HImage HImage.EliminateMinMax(int maskWidth, int maskHeight, double gap, int mode)

def eliminate_min_max(image: HObject, mask_width: int, mask_height: int, gap: float, mode: int) -> HObject

描述

eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxEliminateMinMaxeliminate_min_max smooths an image by replacing gray values with neighboring mean values, or local minima/maxima. In order to prevent edges and lines from being smoothed, only those gray values that represent local minima or maxima are replaced (if there is a line or edge within an image there will be at least one neighboring pixel with a comparable gray value). GapGapGapGapgapgap controls the strictness of replacement: Only gray values that exceed all other values within their local neighborhood more than GapGapGapGapgapgap and all values that fall below their neighboring more than GapGapGapGapgapgap are replaced.

Thus, with being the gray value at position and representing the gray values of a sized rectangular neighborhood of a pixel at position , containing all pixels within the neighborhood except the pixel itself, a pixel is replaced

ModeModeModeModemodemode specifies how to perform the new value in case of a replacement.

MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width and MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height specify the width and height of the rectangular neighborhood. Border treatment: Pixels outside the image border are not considered (e.g., with a local -mask the neighborhood of a pixel at reduces to the pixels at , , and ).

For an explanation of the concept of smoothing filters see the introduction of chapter Filters / Smoothing.

注意

eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxEliminateMinMaxeliminate_min_max only can work on byte images (HALCON image type BYTE_IMAGE). If MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width or MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height is an even number, it is replaced by the next higher odd number (this allows the unique extraction of the center of the filter mask). Width/height of the mask may not exceed the image width/height.

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter 过滤器.

运行信息

参数表

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

Image to smooth.

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

Smoothed image.

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

Width of filter mask.

Default: 3

Suggested values: 3, 5, 7, 9

Value range: 3 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth mask_width ≤ width(Image)

Minimum increment: 2

Recommended increment: 2

Restriction: odd(MaskWidth)

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

Height of filter mask.

Default: 3

Suggested values: 3, 5, 7, 9

Value range: 3 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight mask_height ≤ width(Image)

Minimum increment: 2

Recommended increment: 2

Restriction: odd(MaskWidth)

GapGapGapGapgapgap (input_control)  number HTuplefloatHTupleHtuple (real) (double) (double) (double)

Gap between local maximum/minimum and all other gray values of the neighborhood.

Default: 1.0

Suggested values: 1.0, 2.0, 5.0, 10.0

ModeModeModeModemodemode (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Replacement rule.

Default: 3

List of values: 1, 2, 3

结果

eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxEliminateMinMaxeliminate_min_max returns 2 ( H_MSG_TRUE) if all parameters are correct. If the input is empty eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxEliminateMinMaxeliminate_min_max returns with an error message.

可能的后置算子

wiener_filterwiener_filterWienerFilterWienerFilterWienerFilterwiener_filter, wiener_filter_niwiener_filter_niWienerFilterNiWienerFilterNiWienerFilterNiwiener_filter_ni

参考其它

mean_spmean_spMeanSpMeanSpMeanSpmean_sp, mean_imagemean_imageMeanImageMeanImageMeanImagemean_image, median_imagemedian_imageMedianImageMedianImageMedianImagemedian_image, median_weightedmedian_weightedMedianWeightedMedianWeightedMedianWeightedmedian_weighted, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image

References

M. Imme:“A Noise Peak Elimination Filter”; S. 204-211 in CVGIP Graphical Models and Image Processing, Vol. 53, No. 2, March 1991
M. Lückenhaus:“Grundlagen des Wiener-Filters und seine Anwendung in der Bildanalyse”; Diplomarbeit; Technische Universität München, Institut für Informatik; Lehrstuhl Prof. Radig; 1995.

模块

Foundation