gray_skeletongray_skeletonGraySkeletonGraySkeleton (Operator)
Name
gray_skeletongray_skeletonGraySkeletonGraySkeleton
— Verdünnung von Grauwertbildern.
Signatur
Beschreibung
gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeleton
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_ampNonmaxSuppressionAmpNonmaxSuppressionAmpNonmaxSuppressionAmp
. gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeleton
erhält im Gegensatz zu nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpNonmaxSuppressionAmp
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
- 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.
Parameter
ImageImageImageImageimage
(input_object) (multichannel-)image(-array) →
objectHImageHImageHobject (byte / uint2)
Bild, das verdünnt werden soll.
GraySkeletonGraySkeletonGraySkeletonGraySkeletongraySkeleton
(output_object) (multichannel-)image(-array) →
objectHImageHImageHobject * (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')
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_skeletonGraySkeletonGraySkeletonGraySkeleton
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>)SetSystem("no_object_result",<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Nachfolger
mean_imagemean_imageMeanImageMeanImageMeanImage
Alternativen
nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpNonmaxSuppressionAmp
,
nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDirNonmaxSuppressionDir
,
local_maxlocal_maxLocalMaxLocalMaxLocalMax
Siehe auch
skeletonskeletonSkeletonSkeletonSkeleton
,
gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRect
Modul
Foundation