Name
median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate — Separierte Medianfilterung mit Rechteckmasken.
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
median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate führt eine abgewandelte Variante der
Median-Filterung durch: Es werden zunächst zwei Hilfsbilder
erzeugt. Das erste entsteht aus einer Medianfilterung mit einer
horizontalen, ein Pixel hohen und MaskWidthMaskWidthMaskWidthMaskWidthMaskWidthmaskWidth breiten Maske
und anschließender Filterung mit einer MaskHeightMaskHeightMaskHeightMaskHeightMaskHeightmaskHeight hohen
Maske. Das zweite Hilfsbild entsteht durch Filterung mit den
gleichen Masken, wobei aber die Reihenfolge der Anwendung umgekehrt
wird. Zuerst wird die vertikale, dann die horizontale Maske angewendet. Das
Ausgabebild ergibt sich durch pixelweise Mittelung der beiden
Hilfsbilder.
median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate ist deutlich schneller als der normale
median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage, da beide Masken ein Pixel breit sind und somit
eine sehr effiziente Verarbeitung möglich ist. Die Laufzeit ist
praktisch unabhängig von der Größe der Maske.
median_separatemedian_separateMedianSeparatemedian_separateMedianSeparateMedianSeparate lässt sich beispielweise gut nach
Texturfiltern einsetzen, da dort große Masken benötigt werden.
Zur Verbesserung der Glättung kann der Filter auch mehrfach
hintereinander angewandt werden.
Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate
ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben
wird. Weitere Informationen können im Kapitel Filter gefunden
werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf Kanalebene.
- Automatisch parallelisiert auf Domainebene.
Breite der Rangmaske.
Defaultwert: 25
Wertevorschläge: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 27, 43, 51, 67, 91, 121, 151
Typischer Wertebereich: 1
≤
MaskWidth
MaskWidth
MaskWidth
MaskWidth
MaskWidth
maskWidth
≤
401
Minimale Schrittweite: 2
Empfohlene Schrittweite: 2
Höhe der Rangmaske.
Defaultwert: 25
Wertevorschläge: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 27, 43, 51, 67, 91, 121, 151
Typischer Wertebereich: 1
≤
MaskHeight
MaskHeight
MaskHeight
MaskHeight
MaskHeight
maskHeight
≤
401
Minimale Schrittweite: 2
Empfohlene Schrittweite: 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)
Randbehandlung.
Defaultwert:
'mirrored'
"mirrored"
"mirrored"
"mirrored"
"mirrored"
"mirrored"
Wertevorschläge: '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)
Pro Bildpunkt: O(40).
texture_lawstexture_lawsTextureLawstexture_lawsTextureLawsTextureLaws,
sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp,
deviation_imagedeviation_imageDeviationImagedeviation_imageDeviationImageDeviationImage
learn_ndim_normlearn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm,
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