junctions_skeletonjunctions_skeletonJunctionsSkeletonJunctionsSkeletonjunctions_skeleton (算子)
名称
junctions_skeletonjunctions_skeletonJunctionsSkeletonJunctionsSkeletonjunctions_skeleton — 在骨架中查找交点和端点。
签名
def junctions_skeleton(region: HObject) -> Tuple[HObject, HObject]
描述
junctions_skeletonjunctions_skeletonJunctionsSkeletonJunctionsSkeletonJunctionsSkeletonjunctions_skeleton detects junctions and end points in a skeleton (see
skeletonskeletonSkeletonSkeletonSkeletonskeleton). The junctions in the input region
RegionRegionRegionRegionregionregion are output as a region in JuncPointsJuncPointsJuncPointsJuncPointsjuncPointsjunc_points,
while the end points are output as a region in EndPointsEndPointsEndPointsEndPointsendPointsend_points。
To obtain reasonable results with junctions_skeletonjunctions_skeletonJunctionsSkeletonJunctionsSkeletonJunctionsSkeletonjunctions_skeleton the input
region RegionRegionRegionRegionregionregion must not contain lines which are more than one
pixel wide. Regions obtained by skeletonskeletonSkeletonSkeletonSkeletonskeleton meet this condition,
while regions obtained by morph_skeletonmorph_skeletonMorphSkeletonMorphSkeletonMorphSkeletonmorph_skeleton do not meet this
condition in general.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
参数
RegionRegionRegionRegionregionregion (输入对象) region(-array) → objectHRegionHObjectHRegionHobject
Input skeletons.
EndPointsEndPointsEndPointsEndPointsendPointsend_points (输出对象) region(-array) → objectHRegionHObjectHRegionHobject *
Extracted end points.
元素数量:
EndPoints == Region
JuncPointsJuncPointsJuncPointsJuncPointsjuncPointsjunc_points (输出对象) region(-array) → objectHRegionHObjectHRegionHobject *
Extracted junctions.
元素数量:
JuncPoints == Region
示例(HDevelop)
* non-connected branches of a skeleton
skeleton(Region,Skeleton)
junctions_skeleton(Skeleton,EPoints,JPoints)
difference(Skeleton,JPoints,Rows)
set_system('neighborhood',4)
connection(Rows,Parts)
示例(C)
/* non-connected branches of a skeleton */
skeleton(Region,&Skeleton);
junctions_skeleton(Skeleton,&EPoints,&JPoints);
difference(Skeleton,JPoints,&Rows);
connection(Rows,&Parts);
示例(HDevelop)
* non-connected branches of a skeleton
skeleton(Region,Skeleton)
junctions_skeleton(Skeleton,EPoints,JPoints)
difference(Skeleton,JPoints,Rows)
set_system('neighborhood',4)
connection(Rows,Parts)
示例(HDevelop)
* non-connected branches of a skeleton
skeleton(Region,Skeleton)
junctions_skeleton(Skeleton,EPoints,JPoints)
difference(Skeleton,JPoints,Rows)
set_system('neighborhood',4)
connection(Rows,Parts)
示例(HDevelop)
* non-connected branches of a skeleton
skeleton(Region,Skeleton)
junctions_skeleton(Skeleton,EPoints,JPoints)
difference(Skeleton,JPoints,Rows)
set_system('neighborhood',4)
connection(Rows,Parts)
复杂度
Let F be the area of the input region. Then the runtime
complexity is O(F).
结果
junctions_skeletonjunctions_skeletonJunctionsSkeletonJunctionsSkeletonJunctionsSkeletonjunctions_skeleton 始终返回值 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>),以及当结果区域为空时则设置行为通过 set_system('store_empty_region',<'true'/'false'>)set_system("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)SetSystem("store_empty_region",<"true"/"false">)set_system("store_empty_region",<"true"/"false">)。如有必要,则抛出异常。
可能的前趋
skeletonskeletonSkeletonSkeletonSkeletonskeleton
可能的后继
area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center,
connectionconnectionConnectionConnectionConnectionconnection,
get_region_pointsget_region_pointsGetRegionPointsGetRegionPointsGetRegionPointsget_region_points,
differencedifferenceDifferenceDifferenceDifferencedifference
另见
pruningpruningPruningPruningPruningpruning,
split_skeleton_regionsplit_skeleton_regionSplitSkeletonRegionSplitSkeletonRegionSplitSkeletonRegionsplit_skeleton_region
模块
基础