gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton (Operator)

Name

gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton — Verdünnung von Grauwertbildern.

Signatur

gray_skeleton(Image : GraySkeleton : : )

Herror gray_skeleton(const Hobject Image, Hobject* GraySkeleton)

Herror T_gray_skeleton(const Hobject Image, Hobject* GraySkeleton)

void GraySkeleton(const HObject& Image, HObject* GraySkeleton)

HImage HImage::GraySkeleton() const

static void HOperatorSet.GraySkeleton(HObject image, out HObject graySkeleton)

HImage HImage.GraySkeleton()

def gray_skeleton(image: HObject) -> HObject

Beschreibung

gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton führt eine Grauwert-Verdünnung mittels lokalem Schnitt durch. Bildlich gesprochen wird dabei das Grauwertgebirge auf die Gratlinien reduziert, indem die Bergflanken mit dem Grauwert der jeweiligen Talsohle besetzt werden. Die resultierenden „Maximumslinien“ sind nur mehr maximal zwei Pixel dick. Die Prozedur ist insbesondere zur Verdünnung von Kantenbildern gedacht und insofern eine Alternative zu nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp. gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton erhält im Gegensatz zu nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp Konturen, ist allerdings auch ungleich zeitaufwendiger. Im Gegensatz zu skeletonskeletonSkeletonSkeletonskeleton verändert die Routine die Grauwerte der Bilder, lässt aber deren Regionen unverändert.

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 / uint2)

Bild, das verdünnt werden soll.

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

Verdünntes Bild.

Beispiel (HDevelop)

* Seeking leafs of a beech tree in an aerial picture:
read_image(Image,'forest')
gray_skeleton(Image,Skelett)
mean_image(Skelett,MeanSkelett,7,7)
dyn_threshold(Skelett,MeanSkelett,Leafs,3,'light')

Beispiel (C)

/* Seeking leafs of a tree in an aerial picture: */
read_image(&Image,"forest");
gray_skeleton(Image&,Skelett);
mean_image(Skelett,&MeanSkelett,7,7);
dyn_threshold(Skelett,MeanSkelett,&Leafs,3.0,"light");

Beispiel (HDevelop)

* Seeking leafs of a beech tree in an aerial picture:
read_image(Image,'forest')
gray_skeleton(Image,Skelett)
mean_image(Skelett,MeanSkelett,7,7)
dyn_threshold(Skelett,MeanSkelett,Leafs,3,'light')

Beispiel (HDevelop)

* Seeking leafs of a beech tree in an aerial picture:
read_image(Image,'forest')
gray_skeleton(Image,Skelett)
mean_image(Skelett,MeanSkelett,7,7)
dyn_threshold(Skelett,MeanSkelett,Leafs,3,'light')

Ergebnis

gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton 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.

Nachfolger

mean_imagemean_imageMeanImageMeanImagemean_image

Alternativen

nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp, nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDirnonmax_suppression_dir, local_maxlocal_maxLocalMaxLocalMaxlocal_max

Siehe auch

skeletonskeletonSkeletonSkeletonskeleton, gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectgray_dilation_rect

Modul

Foundation