KlassenKlassenKlassenKlassen | | | | Operatoren

kirsch_dirkirsch_dirKirschDirkirsch_dirKirschDirKirschDir (Operator)

Name

kirsch_dirkirsch_dirKirschDirkirsch_dirKirschDirKirschDir — Kantendetektion (Amplitude und Richtung) mit dem Kirsch-Operator.

Signatur

kirsch_dir(Image : ImageEdgeAmp, ImageEdgeDir : : )

Herror kirsch_dir(const Hobject Image, Hobject* ImageEdgeAmp, Hobject* ImageEdgeDir)

Herror T_kirsch_dir(const Hobject Image, Hobject* ImageEdgeAmp, Hobject* ImageEdgeDir)

Herror kirsch_dir(Hobject Image, Hobject* ImageEdgeAmp, Hobject* ImageEdgeDir)

HImage HImage::KirschDir(HImage* ImageEdgeDir) const

HImageArray HImageArray::KirschDir(HImageArray* ImageEdgeDir) const

void KirschDir(const HObject& Image, HObject* ImageEdgeAmp, HObject* ImageEdgeDir)

HImage HImage::KirschDir(HImage* ImageEdgeDir) const

void HOperatorSetX.KirschDir(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImageEdgeAmp, [out] IHUntypedObjectX*ImageEdgeDir)

IHImageX* HImageX.KirschDir([out] IHImageX*ImageEdgeDir)

static void HOperatorSet.KirschDir(HObject image, out HObject imageEdgeAmp, out HObject imageEdgeDir)

HImage HImage.KirschDir(out HImage imageEdgeDir)

Beschreibung

kirsch_dirkirsch_dirKirschDirkirsch_dirKirschDirKirschDir 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 ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDir 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.

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte / int2 / uint2)

Eingabebild.

ImageEdgeAmpImageEdgeAmpImageEdgeAmpImageEdgeAmpImageEdgeAmpimageEdgeAmp (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (byte / int2 / uint2)

Kantenamplitude.

ImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirImageEdgeDirimageEdgeDir (output_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject * (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)

Beispiel (HDevelop)

read_image(Image,'fabrik')
kirsch_dir(Image,Kirsch_dirA,Kirsch_dirD)
threshold(Kirsch_dirA,Res,128,255)

Ergebnis

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

Vorgänger

binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, sigma_imagesigma_imageSigmaImagesigma_imageSigmaImageSigmaImage, median_imagemedian_imageMedianImagemedian_imageMedianImageMedianImage, smooth_imagesmooth_imageSmoothImagesmooth_imageSmoothImageSmoothImage

Nachfolger

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdhysteresis_thresholdHysteresisThresholdHysteresisThreshold, thresholdthresholdThresholdthresholdThresholdThreshold, gray_skeletongray_skeletonGraySkeletongray_skeletonGraySkeletonGraySkeleton, nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDir, close_edgesclose_edgesCloseEdgesclose_edgesCloseEdgesCloseEdges, close_edges_lengthclose_edges_lengthCloseEdgesLengthclose_edges_lengthCloseEdgesLengthCloseEdgesLength

Alternativen

edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage, sobel_dirsobel_dirSobelDirsobel_dirSobelDirSobelDir, robinson_dirrobinson_dirRobinsonDirrobinson_dirRobinsonDirRobinsonDir, prewitt_dirprewitt_dirPrewittDirprewitt_dirPrewittDirPrewittDir, frei_dirfrei_dirFreiDirfrei_dirFreiDirFreiDir

Siehe auch

bandpass_imagebandpass_imageBandpassImagebandpass_imageBandpassImageBandpassImage, laplace_of_gausslaplace_of_gaussLaplaceOfGausslaplace_of_gaussLaplaceOfGaussLaplaceOfGauss

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren