mean_spmean_spMeanSpMeanSpmean_sp (Operator)
Name
mean_spmean_spMeanSpMeanSpmean_sp — Suppress salt and pepper noise.
Signature
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)
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).
Note that filter operators may return unexpected results if
an image with a reduced domain is used as input. Please refer to the
chapter Filters.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
- Automatically parallelized on channel level.
- Automatically parallelized on domain level.
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:
3
Suggested values:
3, 5, 7, 9, 11
Value range:
MaskWidth
MaskWidth
MaskWidth
MaskWidth
maskWidth
mask_width
(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:
3
Suggested values:
3, 5, 7, 9, 11
Value range:
MaskHeight
MaskHeight
MaskHeight
MaskHeight
maskHeight
mask_height
(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:
1
Suggested values:
1, 5, 7, 9, 11, 15, 23, 31, 43, 61, 101
Value range:
0
≤
MinThresh
MinThresh
MinThresh
MinThresh
minThresh
min_thresh
MaxThreshMaxThreshMaxThreshMaxThreshmaxThreshmax_thresh (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Maximum gray value.
Default:
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