mean_spmean_spMeanSpMeanSpmean_sp (Operator)

Name

mean_spmean_spMeanSpMeanSpmean_sp — Suppress salt and pepper noise.

Signature

mean_sp(Image : ImageSPMean : MaskWidth, MaskHeight, MinThresh, MaxThresh : )

Herror mean_sp(const Hobject Image, Hobject* ImageSPMean, const Hlong MaskWidth, const Hlong MaskHeight, const Hlong MinThresh, const Hlong MaxThresh)

Herror T_mean_sp(const Hobject Image, Hobject* ImageSPMean, const Htuple MaskWidth, const Htuple MaskHeight, const Htuple MinThresh, const Htuple MaxThresh)

void MeanSp(const HObject& Image, HObject* ImageSPMean, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& MinThresh, const HTuple& MaxThresh)

HImage HImage::MeanSp(Hlong MaskWidth, Hlong MaskHeight, Hlong MinThresh, Hlong MaxThresh) const

static void HOperatorSet.MeanSp(HObject image, out HObject imageSPMean, HTuple maskWidth, HTuple maskHeight, HTuple minThresh, HTuple maxThresh)

HImage HImage.MeanSp(int maskWidth, int maskHeight, int minThresh, int maxThresh)

def mean_sp(image: HObject, mask_width: int, mask_height: int, min_thresh: int, max_thresh: int) -> HObject

Description

The operator mean_spmean_spMeanSpMeanSpMeanSpmean_sp carries out a smoothing by averaging the values. Only the gray values within the interval from MinThreshMinThreshMinThreshMinThreshminThreshmin_thresh to MaxThreshMaxThreshMaxThreshMaxThreshmaxThreshmax_thresh are averaged. Gray values which are too light or too dark are ignored during summation. If no gray value lies within the default interval during summation the original gray value is adopted. If the thresholds are set at 0 or 255, respectively, the operator mean_spmean_spMeanSpMeanSpMeanSpmean_sp behaves like mean_imagemean_imageMeanImageMeanImageMeanImagemean_image except for the running time.

The operator mean_spmean_spMeanSpMeanSpMeanSpmean_sp is used to suppress extreme gray values (salt and pepper noise = white and black dots).

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

Attention

If even values instead of odd values are given for MaskHeightMaskHeightMaskHeightMaskHeightmaskHeightmask_height or MaskWidthMaskWidthMaskWidthMaskWidthmaskWidthmask_width, the routine uses the next larger odd values instead (this way the center of the filter mask is always explicitly determined).

This operator may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

Execution Information

Parameters

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

Input image.

ImageSPMeanImageSPMeanImageSPMeanImageSPMeanimageSPMeanimage_spmean (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 value: 3

Suggested values: 3, 5, 7, 9, 11

Typical range of values: 3 ≤ MaskWidth MaskWidth MaskWidth MaskWidth maskWidth mask_width ≤ 512 (lin)

Minimum increment: 2

Recommended increment: 2

Restriction: odd(MaskWidth) && MaskWidth < width(Image) * 2

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

Height of filter mask.

Default value: 3

Suggested values: 3, 5, 7, 9, 11

Typical range of values: 3 ≤ MaskHeight MaskHeight MaskHeight MaskHeight maskHeight mask_height ≤ 512 (lin)

Minimum increment: 2

Recommended increment: 2

Restriction: odd(MaskHeight) && MaskHeight < height(Image) * 2

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

Minimum gray value.

Default value: 1

Suggested values: 1, 5, 7, 9, 11, 15, 23, 31, 43, 61, 101

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

Maximum gray value.

Default value: 254

Suggested values: 5, 7, 9, 11, 15, 23, 31, 43, 61, 101, 200, 230, 250, 254

Restriction: MinThresh <= MaxThresh

Example (HDevelop)

read_image(Image,'mreut')
dev_display(Image)
mean_sp(Image,ImageMeansp,3,3,101,201)
dev_display(ImageMeansp)

Example (C)

read_image(&Image,"mreut");
disp_image(Image,WindowHandle);
mean_sp(Image,&ImageMeansp,3,3,101,201);
disp_image(ImageMeansp,WindowHandle);

Example (HDevelop)

read_image(Image,'mreut')
dev_display(Image)
mean_sp(Image,ImageMeansp,3,3,101,201)
dev_display(ImageMeansp)

Example (HDevelop)

read_image(Image,'mreut')
dev_display(Image)
mean_sp(Image,ImageMeansp,3,3,101,201)
dev_display(ImageMeansp)

Example (HDevelop)

read_image(Image,'mreut')
dev_display(Image)
mean_sp(Image,ImageMeansp,3,3,101,201)
dev_display(ImageMeansp)

Possible Successors

disp_imagedisp_imageDispImageDispImageDispImagedisp_image

Alternatives

mean_imagemean_imageMeanImageMeanImageMeanImagemean_image, median_imagemedian_imageMedianImageMedianImageMedianImagemedian_image, median_separatemedian_separateMedianSeparateMedianSeparateMedianSeparatemedian_separate, eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxEliminateMinMaxeliminate_min_max

See also

anisotropic_diffusionanisotropic_diffusionAnisotropicDiffusionAnisotropicDiffusionAnisotropicDiffusionanisotropic_diffusion, sigma_imagesigma_imageSigmaImageSigmaImageSigmaImagesigma_image, binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image, eliminate_min_maxeliminate_min_maxEliminateMinMaxEliminateMinMaxEliminateMinMaxeliminate_min_max

Module

Foundation