skeletonskeletonSkeletonSkeletonskeleton (算子名称)
名称
skeletonskeletonSkeletonSkeletonskeleton
— Compute the skeleton of a region.
参数签名
Herror skeleton(const Hobject 区域, Hobject* Skeleton)
Herror T_skeleton(const Hobject 区域, Hobject* Skeleton)
def skeleton(区域: HObject) -> HObject
描述
skeletonskeletonSkeletonSkeletonSkeletonskeleton
computes the skeleton, i.e., the medial axis of the input
regions. The skeleton is constructed in a way that each point on it
can be seen as the center point of a circle with the largest radius possible
while still being completely contained in the region.
运行信息
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
参数表
区域区域区域区域区域区域
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Region to be thinned.
SkeletonSkeletonSkeletonSkeletonskeletonskeleton
(output_object) region(-array) →
objectHRegionHObjectHRegionHobject *
Resulting skeleton.
Number of elements:
Skeleton == Region
Complexity
Let F be the area of the enclosing rectangle of the input region.
Then the runtime complexity is O(F) (per region).
结果
skeletonskeletonSkeletonSkeletonSkeletonskeleton
returns 2 (
H_MSG_TRUE)
if all parameters are correct.
The behavior in case of empty input (no regions given) 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>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)
and the behavior in case of an empty input region via
set_system('empty_region_result',<Result>)set_system("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)SetSystem("empty_region_result",<Result>)set_system("empty_region_result",<Result>)
.
If necessary, an exception is raised.
可能的前置算子
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp
,
edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image
,
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image
,
thresholdthresholdThresholdThresholdThresholdthreshold
,
hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold
可能的后置算子
junctions_skeletonjunctions_skeletonJunctionsSkeletonJunctionsSkeletonJunctionsSkeletonjunctions_skeleton
,
pruningpruningPruningPruningPruningpruning
可替代算子
morph_skeletonmorph_skeletonMorphSkeletonMorphSkeletonMorphSkeletonmorph_skeleton
,
thinningthinningThinningThinningThinningthinning
参考其它
gray_skeletongray_skeletonGraySkeletonGraySkeletonGraySkeletongray_skeleton
,
sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp
,
edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image
,
robertsrobertsRobertsRobertsRobertsroberts
,
bandpass_imagebandpass_imageBandpassImageBandpassImageBandpassImagebandpass_image
,
thresholdthresholdThresholdThresholdThresholdthreshold
References
Eckardt, U. “Verdünnung mit Perfekten Punkten”,
Proceedings 10. DAGM-Symposium, IFB 180, Zurich, 1988
模块
Foundation