robertsrobertsRobertsRobertsroberts (Operator)

Name

robertsrobertsRobertsRobertsroberts — 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)

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

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

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

HImage HImage::Roberts(const wchar_t* FilterType) const   (Nur Windows)

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

HImage HImage.Roberts(string filterType)

def roberts(image: HObject, filter_type: str) -> HObject

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.

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

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / int2 / uint2)

Eingabebilder.

ImageRobertsImageRobertsImageRobertsImageRobertsimageRobertsimage_roberts (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / int2 / uint2)

Gefilterte Ausgabebilder.

FilterTypeFilterTypeFilterTypeFilterTypefilterTypefilter_type (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (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)

Ergebnis

robertsrobertsRobertsRobertsRobertsroberts liefert den Wert 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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter

Nachfolger

thresholdthresholdThresholdThresholdThresholdthreshold, skeletonskeletonSkeletonSkeletonSkeletonskeleton

Alternativen

edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image, sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp, frei_ampfrei_ampFreiAmpFreiAmpFreiAmpfrei_amp, kirsch_ampkirsch_ampKirschAmpKirschAmpKirschAmpkirsch_amp, prewitt_ampprewitt_ampPrewittAmpPrewittAmpPrewittAmpprewitt_amp

Siehe auch

laplacelaplaceLaplaceLaplaceLaplacelaplace, highpass_imagehighpass_imageHighpassImageHighpassImageHighpassImagehighpass_image, bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image

Modul

Foundation