KlassenKlassenKlassenKlassen | | | | Operatoren

robertsrobertsRobertsrobertsRobertsRoberts (Operator)

Name

robertsrobertsRobertsrobertsRobertsRoberts — Kantendetektion mit dem Roberts-Filter.

Signatur

roberts(Image : ImageRoberts : FilterType : )

Herror roberts(const Hobject Image, Hobject* ImageRoberts, const char* FilterType)

Herror T_roberts(const Hobject Image, Hobject* ImageRoberts, const Htuple FilterType)

Herror roberts(Hobject Image, Hobject* ImageRoberts, const HTuple& FilterType)

HImage HImage::Roberts(const HTuple& FilterType) const

HImageArray HImageArray::Roberts(const HTuple& FilterType) const

void Roberts(const HObject& Image, HObject* ImageRoberts, const HTuple& FilterType)

HImage HImage::Roberts(const HString& FilterType) const

HImage HImage::Roberts(const char* FilterType) const

void HOperatorSetX.Roberts(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageRoberts, [in] VARIANT FilterType)

IHImageX* HImageX.Roberts([in] BSTR FilterType)

static void HOperatorSet.Roberts(HObject image, out HObject imageRoberts, HTuple filterType)

HImage HImage.Roberts(string filterType)

Beschreibung

robertsrobertsRobertsrobertsRobertsRoberts berechnet die erste Ableitung der Grauwertdaten und wird als Kantenfilter eingesetzt. Legt man folgende Maske zugrunde,

                        A               B

                        C               D
dann leiten sich die verschiedenen Filtertypen wie folgt ab:
   'roberts_max'     max(| A - D |,| B - C |)
   'gradient_max'    max(| A + B - (C + D)|,| A + C - (B + D)|)
   'gradient_sum'    |A + B - (C + D)| + |A + C - (B + D)|
Tritt ein Überlauf ein, so werden die Werte beschnitten. Das Ergebnis der Berechnung wird in dem Pixel mit den Koordinaten von "D" abgelegt.

Parallelisierung

Parameter

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

Eingabebilder.

ImageRobertsImageRobertsImageRobertsImageRobertsImageRobertsimageRoberts (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / int2 / uint2)

Gefilterte Ausgabebilder.

FilterTypeFilterTypeFilterTypeFilterTypeFilterTypefilterType (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Filtertyp.

Defaultwert: 'gradient_sum' "gradient_sum" "gradient_sum" "gradient_sum" "gradient_sum" "gradient_sum"

Werteliste: 'gradient_max'"gradient_max""gradient_max""gradient_max""gradient_max""gradient_max", 'gradient_sum'"gradient_sum""gradient_sum""gradient_sum""gradient_sum""gradient_sum", 'roberts_max'"roberts_max""roberts_max""roberts_max""roberts_max""roberts_max"

Beispiel (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Beispiel (C)

read_image(&Image,"fabrik");
roberts(Image,&Roberts,"roberts_max");
threshold(Roberts,&Margin,128.0,255.0);

Beispiel (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Beispiel (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Beispiel (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Beispiel (HDevelop)

read_image(Image,'fabrik')
roberts(Image,Roberts,'roberts_max')
threshold(Roberts,Margin,128,255)

Ergebnis

robertsrobertsRobertsrobertsRobertsRoberts liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. 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

binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter

Nachfolger

thresholdthresholdThresholdthresholdThresholdThreshold, skeletonskeletonSkeletonskeletonSkeletonSkeleton

Alternativen

edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage, sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp, frei_ampfrei_ampFreiAmpfrei_ampFreiAmpFreiAmp, kirsch_ampkirsch_ampKirschAmpkirsch_ampKirschAmpKirschAmp, prewitt_ampprewitt_ampPrewittAmpprewitt_ampPrewittAmpPrewittAmp

Siehe auch

laplacelaplaceLaplacelaplaceLaplaceLaplace, highpass_imagehighpass_imageHighpassImagehighpass_imageHighpassImageHighpassImage, bandpass_imagebandpass_imageBandpassImagebandpass_imageBandpassImageBandpassImage

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren