gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton (Operator)
Name
gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton
— Thinning of gray value images.
Signature
def gray_skeleton(image: HObject) -> HObject
Description
gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton
applies a gray value thinning operation
to the input image ImageImageImageimageimage
. Figuratively, the gray value
“mountain range” is reduced to its ridge lines by setting the gray
value of “hillsides” to the gray value at the corresponding valley
bottom. The resulting ridge lines are at most two pixels wide.
This operator is especially useful for thinning edge images, and is
thus an alternative to nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp
. In
contrast to nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp
,
gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton
preserves contours, but is much slower.
In contrast to skeletonskeletonSkeletonSkeletonskeleton
, this operator changes the gray
values of an image while leaving its region unchanged.
Attention
Note that filter operators may return unexpected results if
an image with a reduced domain is used as input. Please refer to the
chapter Filters.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
- Automatically parallelized on channel level.
Parameters
ImageImageImageimageimage
(input_object) (multichannel-)image(-array) →
objectHImageHObjectHObjectHobject (byte / uint2)
Image to be thinned.
GraySkeletonGraySkeletonGraySkeletongraySkeletongray_skeleton
(output_object) (multichannel-)image(-array) →
objectHImageHObjectHObjectHobject * (byte / uint2)
Thinned image.
Example (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')
Example (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");
Example (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')
Example (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')
Result
gray_skeletongray_skeletonGraySkeletonGraySkeletongray_skeleton
returns 2 (
H_MSG_TRUE)
if all parameters are
correct. If the input is empty the behavior can be set via
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>)
.
If necessary, an exception is raised.
Possible Successors
mean_imagemean_imageMeanImageMeanImagemean_image
Alternatives
nonmax_suppression_ampnonmax_suppression_ampNonmaxSuppressionAmpNonmaxSuppressionAmpnonmax_suppression_amp
,
nonmax_suppression_dirnonmax_suppression_dirNonmaxSuppressionDirNonmaxSuppressionDirnonmax_suppression_dir
,
local_maxlocal_maxLocalMaxLocalMaxlocal_max
See also
skeletonskeletonSkeletonSkeletonskeleton
,
gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectgray_dilation_rect
Module
Foundation