KlassenKlassenKlassenKlassen | | | | Operatoren

midrange_imagemidrange_imageMidrangeImagemidrange_imageMidrangeImageMidrangeImage (Operator)

Name

midrange_imagemidrange_imageMidrangeImagemidrange_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)

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

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

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

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

void HOperatorSetX.MidrangeImage(
[in] IHUntypedObjectX* Image, [in] IHUntypedObjectX* Mask, [out] IHUntypedObjectX*ImageMidrange, [in] VARIANT Margin)

IHImageX* HImageX.MidrangeImage(
[in] IHRegionX* Mask, [in] VARIANT Margin)

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_imageMidrangeImagemidrange_imageMidrangeImageMidrangeImage bildet den Mittelwert aus Maximum und Minimum innerhalb der angegebenen Maske im gesamten Bild. Es kann bei der Filterung zwischen verschiedenen Randbehandlungen (MarginMarginMarginMarginMarginmargin) 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 angebene Maske (= Region des Maskenobjekts) wird so über die zu filternden Bilder geschoben, dass der Schwerpunkt der Maske alle Bildpunkte einmal berührt.

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte / int2 / uint2 / int4 / real)

Zu filterndes Bild.

MaskMaskMaskMaskMaskmask (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Filtermaske.

ImageMidrangeImageMidrangeImageMidrangeImageMidrangeImageMidrangeimageMidrange (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / int2 / uint2 / int4 / real)

Gefiltertes Bild.

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

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)

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 MaskMaskMaskMaskMaskmask.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert midrange_imagemidrange_imageMidrangeImagemidrange_imageMidrangeImageMidrangeImage 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>)set_system("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_imageReadImageread_imageReadImageReadImage, draw_regiondraw_regionDrawRegiondraw_regionDrawRegionDrawRegion, gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle, gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1

Nachfolger

thresholdthresholdThresholdthresholdThresholdThreshold, dyn_thresholddyn_thresholdDynThresholddyn_thresholdDynThresholdDynThreshold, regiongrowingregiongrowingRegiongrowingregiongrowingRegiongrowingRegiongrowing

Alternativen

sigma_imagesigma_imageSigmaImagesigma_imageSigmaImageSigmaImage

Siehe auch

gen_circlegen_circleGenCirclegen_circleGenCircleGenCircle, gen_rectangle1gen_rectangle1GenRectangle1gen_rectangle1GenRectangle1GenRectangle1, gray_erosion_rectgray_erosion_rectGrayErosionRectgray_erosion_rectGrayErosionRectGrayErosionRect, gray_dilation_rectgray_dilation_rectGrayDilationRectgray_dilation_rectGrayDilationRectGrayDilationRect, gray_range_rectgray_range_rectGrayRangeRectgray_range_rectGrayRangeRectGrayRangeRect

Literatur

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

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren