robinson_dirrobinson_dirRobinsonDirRobinsonDirrobinson_dir (Operator)
Name
robinson_dirrobinson_dirRobinsonDirRobinsonDirrobinson_dir — Kantendetektion (Amplitude und Richtung) mit dem Robinson-Operator.
Signatur
def robinson_dir(image: HObject) -> Tuple[HObject, HObject]
Beschreibung
robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDirrobinson_dir berechnet eine Näherung der ersten
Ableitung der Grauwertdaten und wird als Kantenfilter eingesetzt.
Mit robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDirrobinson_dir 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. In dem Parameter ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDirimage_edge_dir wird die
Kantenrichtungen zurückgeliefert als x / 2. Die
Kantenrichtungen entsprechen der Richtung der Maske mit der
maximalen Filterantwort.
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf Kanalebene.
- Automatisch parallelisiert auf Domainebene.
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.
ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDirimage_edge_dir (output_object) (multichannel-)image(-array) → objectHImageHObjectHImageHobject * (direction)
Kantenrichtung.
Beispiel (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Beispiel (C)
read_image(&Image,"fabrik");
robinson_dir(Image,&Robinson_dirA,&Robinson_dirD);
threshold(Robinson_dirA,&Res,128,255);
Beispiel (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Beispiel (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Beispiel (HDevelop)
read_image(Image,'fabrik')
robinson_dir(Image,Robinson_dirA,Robinson_dirD)
threshold(Robinson_dirA,Res,128,255)
Ergebnis
robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDirrobinson_dir liefert immer den Wert 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
Nachfolger
hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold,
thresholdthresholdThresholdThresholdThresholdthreshold,
gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton,
nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDirNonmaxSuppressionDirnonmax_suppression_dir,
close_edgesclose_edgesCloseEdgesCloseEdgesCloseEdgesclose_edges,
close_edges_lengthclose_edges_lengthCloseEdgesLengthCloseEdgesLengthCloseEdgesLengthclose_edges_length
Alternativen
edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image,
sobel_dirsobel_dirSobelDirSobelDirSobelDirsobel_dir,
kirsch_dirkirsch_dirKirschDirKirschDirKirschDirkirsch_dir,
prewitt_dirprewitt_dirPrewittDirPrewittDirPrewittDirprewitt_dir,
frei_dirfrei_dirFreiDirFreiDirFreiDirfrei_dir
Siehe auch
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image,
laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss
Modul
Foundation