robinson_amprobinson_ampRobinsonAmpRobinsonAmprobinson_amp (Operator)

Name

robinson_amprobinson_ampRobinsonAmpRobinsonAmprobinson_amp — Kantendetektion (Amplitude) mit dem Robinson-Operator.

Signatur

robinson_amp(Image : ImageEdgeAmp : : )

Herror robinson_amp(const Hobject Image, Hobject* ImageEdgeAmp)

Herror T_robinson_amp(const Hobject Image, Hobject* ImageEdgeAmp)

void RobinsonAmp(const HObject& Image, HObject* ImageEdgeAmp)

HImage HImage::RobinsonAmp() const

static void HOperatorSet.RobinsonAmp(HObject image, out HObject imageEdgeAmp)

HImage HImage.RobinsonAmp()

def robinson_amp(image: HObject) -> HObject

Beschreibung

robinson_amprobinson_ampRobinsonAmpRobinsonAmpRobinsonAmprobinson_amp berechnet eine Näherung der ersten Ableitung der Grauwertdaten und wird als Kantenfilter eingesetzt. Mit robinson_amprobinson_ampRobinsonAmpRobinsonAmpRobinsonAmprobinson_amp werden auf ein Eingabebild vier der ursprünglich acht 3x3-Filter von Robinson angewandt. Die anderen 4 Masken entstehen durch Multiplikation der Masken mit -1. Die Masken besitzen nur die Werte 0,1,-1,2,-2. -1 0 1 2 1 0 -2 0 2 1 0 -1 -1 0 1 0 -1 -2 0 1 2 1 2 1 -1 0 1 0 0 0 -2 -1 0 -1 -2 -1 Im Ausgabebild ist die maximale Filterantwort aller Masken eingetragen.

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)

Eingabebild.

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

Kantenamplitude.

Beispiel (HDevelop)

read_image(Image,'fabrik')
robinson_amp(Image,Robinson_amp)
threshold(Robinson_amp,Edges,128,255)

Beispiel (C)

read_image(&Image,"fabrik");
robinson_amp(Image,&Robinson_amp);
threshold(Robinson_amp,&Edges,128,255);

Beispiel (HDevelop)

read_image(Image,'fabrik')
robinson_amp(Image,Robinson_amp)
threshold(Robinson_amp,Edges,128,255)

Beispiel (HDevelop)

read_image(Image,'fabrik')
robinson_amp(Image,Robinson_amp)
threshold(Robinson_amp,Edges,128,255)

Beispiel (HDevelop)

read_image(Image,'fabrik')
robinson_amp(Image,Robinson_amp)
threshold(Robinson_amp,Edges,128,255)

Ergebnis

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

Vorgänger

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilterbinomial_filter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFiltergauss_filter, sigma_imagesigma_imageSigmaImageSigmaImageSigmaImagesigma_image, median_imagemedian_imageMedianImageMedianImageMedianImagemedian_image, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImagesmooth_image

Alternativen

sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp, frei_ampfrei_ampFreiAmpFreiAmpFreiAmpfrei_amp, prewitt_ampprewitt_ampPrewittAmpPrewittAmpPrewittAmpprewitt_amp, robertsrobertsRobertsRobertsRobertsroberts

Siehe auch

bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image, laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss

Modul

Foundation