kirsch_dirkirsch_dirKirschDirKirschDirkirsch_dir (Operator)
Name
kirsch_dirkirsch_dirKirschDirKirschDirkirsch_dir — Kantendetektion (Amplitude und Richtung) mit dem Kirsch-Operator.
Signatur
def kirsch_dir(image: HObject) -> Tuple[HObject, HObject]
Beschreibung
kirsch_dirkirsch_dirKirschDirKirschDirKirschDirkirsch_dir berechnet eine Näherung der erster Ableitung
der Grauwertdaten und wird als Kantenfilter eingesetzt. Dem Filter
liegen folgende acht Filtermasken zugrunde:
-3 -3 5 -3 5 5 5 5 5 5 5 -3
-3 0 5 -3 0 5 -3 0 -3 5 0 -3
-3 -3 5 -3 -3 -3 -3 -3 -3 -3 -3 -3
5 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3
5 0 -3 5 0 -3 -3 0 -3 -3 0 5
5 -3 -3 5 5 -3 5 5 5 -3 5 5
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')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
Beispiel (C)
read_image(&Image,"fabrik");
kirsch_dir(Image,&Kirsch_dirA,&Kirsch_dirD);
threshold(Kirsch_dirA,&Res,128,255);
Beispiel (HDevelop)
read_image(Image,'fabrik')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
Beispiel (HDevelop)
read_image(Image,'fabrik')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
Beispiel (HDevelop)
read_image(Image,'fabrik')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)
Ergebnis
kirsch_dirkirsch_dirKirschDirKirschDirKirschDirkirsch_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,
robinson_dirrobinson_dirRobinsonDirRobinsonDirRobinsonDirrobinson_dir,
prewitt_dirprewitt_dirPrewittDirPrewittDirPrewittDirprewitt_dir,
frei_dirfrei_dirFreiDirFreiDirFreiDirfrei_dir
Siehe auch
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image,
laplace_of_gausslaplace_of_gaussLaplaceOfGaussLaplaceOfGaussLaplaceOfGausslaplace_of_gauss
Modul
Foundation