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

robertsrobertsRobertsRobertsroberts 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

ImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte / int2 / uint2)

Eingabebilder.

ImageRobertsImageRobertsImageRobertsimageRobertsimage_roberts (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / int2 / uint2)

Gefilterte Ausgabebilder.

FilterTypeFilterTypeFilterTypefilterTypefilter_type (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Filtertyp.

Default: 'gradient_sum' "gradient_sum" "gradient_sum" "gradient_sum" "gradient_sum"

Werteliste: 'gradient_max'"gradient_max""gradient_max""gradient_max""gradient_max", 'gradient_sum'"gradient_sum""gradient_sum""gradient_sum""gradient_sum", '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)

Ergebnis

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

Vorgänger

binomial_filterbinomial_filterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFiltergauss_filter

Nachfolger

thresholdthresholdThresholdThresholdthreshold, skeletonskeletonSkeletonSkeletonskeleton

Alternativen

edges_imageedges_imageEdgesImageEdgesImageedges_image, sobel_ampsobel_ampSobelAmpSobelAmpsobel_amp, frei_ampfrei_ampFreiAmpFreiAmpfrei_amp, kirsch_ampkirsch_ampKirschAmpKirschAmpkirsch_amp, prewitt_ampprewitt_ampPrewittAmpPrewittAmpprewitt_amp

Siehe auch

laplacelaplaceLaplaceLaplacelaplace, highpass_imagehighpass_imageHighpassImageHighpassImagehighpass_image, bandpass_imagebandpass_imageBandpassImageBandpassImagebandpass_image

Modul

Foundation