skeletonskeletonSkeletonSkeletonskeleton (算子)

名称

skeletonskeletonSkeletonSkeletonskeleton — 计算区域的骨架。

签名

skeleton(Region : Skeleton : : )

Herror skeleton(const Hobject Region, Hobject* Skeleton)

Herror T_skeleton(const Hobject Region, Hobject* Skeleton)

void Skeleton(const HObject& Region, HObject* Skeleton)

HRegion HRegion::Skeleton() const

static void HOperatorSet.Skeleton(HObject region, out HObject skeleton)

HRegion HRegion.Skeleton()

def skeleton(region: 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.

执行信息

参数

RegionRegionRegionRegionregionregion (输入对象)  region(-array) objectHRegionHObjectHRegionHobject

Region to be thinned.

SkeletonSkeletonSkeletonSkeletonskeletonskeleton (输出对象)  region(-array) objectHRegionHObjectHRegionHobject *

Resulting skeleton.

元素数量: Skeleton == Region

复杂度

Let F be the area of the enclosing rectangle of the input region. Then the runtime complexity is O(F) (per region).

结果

skeletonskeletonSkeletonSkeletonSkeletonskeleton 在所有参数正确时返回 2 ( H_MSG_TRUE )。当输入为空(未指定区域)时则可设置行为通过 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>) 以及输入区域为空时可设置行为通过 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>)。如有必要,则抛出异常。

可能的前趋

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

参考文献

Eckardt, U. “Verdünnung mit Perfekten Punkten”, Proceedings 10. DAGM-Symposium, IFB 180, Zurich, 1988

模块

基础