Name
median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate — Separated median filtering with rectangle masks.
void MedianSeparate(const HObject& Image, HObject* ImageSMedian, const HTuple& MaskWidth, const HTuple& MaskHeight, const HTuple& Margin)
HImage HImage::MedianSeparate(Hlong MaskWidth, Hlong MaskHeight, const HTuple& Margin) const
HImage HImage::MedianSeparate(Hlong MaskWidth, Hlong MaskHeight, const HString& Margin) const
HImage HImage::MedianSeparate(Hlong MaskWidth, Hlong MaskHeight, const char* Margin) const
The operator median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate carries out a variation of
the median filtering: First two auxiliary images are created. The
first one originates from a median filtering with a horizontal mask
with a height of one pixel and the width MaskWidthMaskWidthMaskWidthMaskWidthMaskWidthmaskWidth
followed by filtering with a mask with the height
MaskHeightMaskHeightMaskHeightMaskHeightMaskHeightmaskHeight. The second auxiliary image is created by
filtering with the same masks, but with a reversed sequence of the
operation: first the vertical, then the horizontal mask. The output
image results from averaging the two auxiliary images pixel by
pixel.
The operator median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate is clearly faster than the
normal operator median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage because both masks are one pixel
wide, facilitating a very effecient processing. The runtime is
practically independent of the size of the mask. For example, the
operator median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate can be well used after texture
filters, where large masks are needed.
The filter can also be used several times in a row in order to
enhance the smoothing.
- 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.
Width of rank mask.
Default value: 25
Suggested values: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 27, 43, 51, 67, 91, 121, 151
Typical range of values: 1
≤
MaskWidth
MaskWidth
MaskWidth
MaskWidth
MaskWidth
maskWidth
≤
401
Minimum increment: 2
Recommended increment: 2
Height of rank mask.
Default value: 25
Suggested values: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 27, 43, 51, 67, 91, 121, 151
Typical range of values: 1
≤
MaskHeight
MaskHeight
MaskHeight
MaskHeight
MaskHeight
maskHeight
≤
401
Minimum increment: 2
Recommended increment: 2
MarginMarginMarginMarginMarginmargin (input_control) string → HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)
Border treatment.
Default value:
'mirrored'
"mirrored"
"mirrored"
"mirrored"
"mirrored"
"mirrored"
Suggested values: 'mirrored'"mirrored""mirrored""mirrored""mirrored""mirrored", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'continued'"continued""continued""continued""continued""continued", 0, 30, 60, 90, 120, 150, 180, 210, 240, 255
read_image(Image,'fabrik')
median_separate(Image,MedianSeparate,5,5,3)
dev_display(MedianSeparate)
read_image(&Image,"fabrik");
median_separate(Image,&MedianSeparate,5,5,3);
disp_image(MedianSeparate,WindowHandle);
read_image(Image,'fabrik')
median_separate(Image,MedianSeparate,5,5,3)
dev_display(MedianSeparate)
read_image(Image,'fabrik')
median_separate(Image,MedianSeparate,5,5,3)
dev_display(MedianSeparate)
read_image(Image,'fabrik')
median_separate(Image,MedianSeparate,5,5,3)
dev_display(MedianSeparate)
read_image(Image,'fabrik')
median_separate(Image,MedianSeparate,5,5,3)
dev_display(MedianSeparate)
For each pixel: O(40).
texture_lawstexture_lawsTextureLawstexture_lawsTextureLawsTextureLaws,
sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp,
deviation_imagedeviation_imageDeviationImagedeviation_imageDeviationImageDeviationImage
learn_ndim_normlearn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm,
learn_ndim_boxlearn_ndim_boxLearnNdimBoxlearn_ndim_boxLearnNdimBoxLearnNdimBox,
regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing,
auto_thresholdauto_thresholdAutoThresholdauto_thresholdAutoThresholdAutoThreshold
median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage
rank_imagerank_imageRankImagerank_imageRankImageRankImage
R. Haralick, L. Shapiro; “Computer and Robot Vision”;
Addison-Wesley, 1992, Seite 319
Foundation