midrange_imagemidrange_imageMidrangeImageMidrangeImage (Operator)

Name

midrange_imagemidrange_imageMidrangeImageMidrangeImage — Mittelwert aus Maximum und Minimum innerhalb einer beliebigen Maske.

Signatur

midrange_image(Image, Mask : ImageMidrange : Margin : )

Herror midrange_image(const Hobject Image, const Hobject Mask, Hobject* ImageMidrange, const char* Margin)

Herror T_midrange_image(const Hobject Image, const Hobject Mask, Hobject* ImageMidrange, const Htuple Margin)

void MidrangeImage(const HObject& Image, const HObject& Mask, HObject* ImageMidrange, const HTuple& Margin)

HImage HImage::MidrangeImage(const HRegion& Mask, const HTuple& Margin) const

HImage HImage::MidrangeImage(const HRegion& Mask, const HString& Margin) const

HImage HImage::MidrangeImage(const HRegion& Mask, const char* Margin) const

HImage HImage::MidrangeImage(const HRegion& Mask, const wchar_t* Margin) const   (Nur Windows)

static void HOperatorSet.MidrangeImage(HObject image, HObject mask, out HObject imageMidrange, HTuple margin)

HImage HImage.MidrangeImage(HRegion mask, HTuple margin)

HImage HImage.MidrangeImage(HRegion mask, string margin)

Beschreibung

midrange_imagemidrange_imageMidrangeImageMidrangeImageMidrangeImage bildet den Mittelwert aus Maximum und Minimum innerhalb der angegebenen Maske im gesamten Bild. Es kann bei der Filterung zwischen verschiedenen Randbehandlungen (MarginMarginMarginMarginmargin) gewählt werden: Grauwert Bildpunkte außerhalb der Bildränder werden als konstant (mit dem angegebenen Grauwert) angenommen. 'continued' Fortsetzung der Randpunkte. 'cyclic' zyklische Fortsetzung der Bildränder. 'mirrored' Spiegelung der Bildpunkte an den Bildrändern. Die angegebene Maske (= Region des Maskenobjekts) wird so über die zu filternden Bilder geschoben, dass der Schwerpunkt der Maske alle Bildpunkte einmal berührt.

Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.

Achtung

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.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / int2 / uint2 / int4 / real)

Zu filterndes Bild.

MaskMaskMaskMaskmask (input_object)  region objectHRegionHRegionHobject

Filtermaske.

ImageMidrangeImageMidrangeImageMidrangeImageMidrangeimageMidrange (output_object)  (multichannel-)image(-array) objectHImageHImageHobject * (byte / int2 / uint2 / int4 / real)

Gefiltertes Bild.

MarginMarginMarginMarginmargin (input_control)  string HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Randbehandlung.

Defaultwert: 'mirrored' "mirrored" "mirrored" "mirrored" "mirrored"

Wertevorschläge: 'mirrored'"mirrored""mirrored""mirrored""mirrored", 'cyclic'"cyclic""cyclic""cyclic""cyclic", 'continued'"continued""continued""continued""continued", 0, 30, 60, 90, 120, 150, 180, 210, 240, 255

Beispiel (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)

Beispiel (C)

read_image(&Image,"fabrik");
draw_region(&Region,WindowHandle);
midrange_image(Image,Region,&Midrange,"mirrored");
disp_image(Midrange,WindowHandle);

Beispiel (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)

Beispiel (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)

Beispiel (HDevelop)

read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)

Komplexität

Pro Bildpunkt: O(sqrt(F) * 5) mit F = Fläche von MaskMaskMaskMaskmask.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert midrange_imagemidrange_imageMidrangeImageMidrangeImageMidrangeImage den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_imageread_imageReadImageReadImageReadImage, draw_regiondraw_regionDrawRegionDrawRegionDrawRegion, gen_circlegen_circleGenCircleGenCircleGenCircle, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1

Nachfolger

thresholdthresholdThresholdThresholdThreshold, dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing

Alternativen

sigma_imagesigma_imageSigmaImageSigmaImageSigmaImage

Siehe auch

gen_circlegen_circleGenCircleGenCircleGenCircle, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1, gray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRectGrayErosionRect, gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRect, gray_range_rectgray_range_rectGrayRangeRectGrayRangeRectGrayRangeRect

Literatur

R. Haralick, L. Shapiro; „Computer and Robot Vision“; Addison-Wesley, 1992, Seite 319

Modul

Foundation