connectionconnectionConnectionConnectionconnection (算子)
名称
connectionconnectionConnectionConnectionconnection — 计算区域的连通组件。
签名
def connection(region: HObject) -> HObject
描述
connectionconnectionConnectionConnectionConnectionconnection determines the connected components of the
input regions given in RegionRegionRegionRegionregionregion. The neighborhood used for
this can be set via set_system('neighborhood',<4/8>)set_system("neighborhood",<4/8>)SetSystem("neighborhood",<4/8>)SetSystem("neighborhood",<4/8>)SetSystem("neighborhood",<4/8>)set_system("neighborhood",<4/8>)。The default is 8-neighborhood, which is useful for determining the
connected components of the foreground. The maximum number of
connected components that is returned by connectionconnectionConnectionConnectionConnectionconnection can be
set via set_system('max_connection',<Num>)set_system("max_connection",<Num>)SetSystem("max_connection",<Num>)SetSystem("max_connection",<Num>)SetSystem("max_connection",<Num>)set_system("max_connection",<Num>)。The default
value of 0 causes all connected components to be returned.
The inverse operator of connectionconnectionConnectionConnectionConnectionconnection is union1union1Union1Union1Union1union1。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
参数
RegionRegionRegionRegionregionregion (输入对象) region(-array) → objectHRegionHObjectHRegionHobject
Input region.
ConnectedRegionsConnectedRegionsConnectedRegionsConnectedRegionsconnectedRegionsconnected_regions (输出对象) region-array → objectHRegionHObjectHRegionHobject *
Connected components.
示例(HDevelop)
read_image(Image,'clip')
dev_set_colored(12)
threshold(Image,Dark,0,150)
count_obj(Dark,NumThresholded)
dev_display (Dark)
connection(Dark,ConnectedRegions)
count_obj(ConnectedRegions,NumConnected)
dev_display (ConnectedRegions)
示例(C)
read_image(&Image,"monkey");
set_colored(WindowHandle,12);
threshold(Image,&Light,150.0,255.0);
count_obj(Light,&Number1);
printf("Number of regions after threshold = %d\n",Number1);
disp_region(Light,WindowHandle);
connection(Light,&Many);
count_obj(Many,&Number2);
printf("Number of regions after threshold = %d\n",Number2);
disp_region(Many,WindowHandle);
示例(HDevelop)
read_image(Image,'clip')
dev_set_colored(12)
threshold(Image,Dark,0,150)
count_obj(Dark,NumThresholded)
dev_display (Dark)
connection(Dark,ConnectedRegions)
count_obj(ConnectedRegions,NumConnected)
dev_display (ConnectedRegions)
示例(HDevelop)
read_image(Image,'clip')
dev_set_colored(12)
threshold(Image,Dark,0,150)
count_obj(Dark,NumThresholded)
dev_display (Dark)
connection(Dark,ConnectedRegions)
count_obj(ConnectedRegions,NumConnected)
dev_display (ConnectedRegions)
示例(HDevelop)
read_image(Image,'clip')
dev_set_colored(12)
threshold(Image,Dark,0,150)
count_obj(Dark,NumThresholded)
dev_display (Dark)
connection(Dark,ConnectedRegions)
count_obj(ConnectedRegions,NumConnected)
dev_display (ConnectedRegions)
复杂度
Let F be the area of the input region and N be the number of
generated connected components. Then the runtime complexity is
O(sqrt(F) * sqrt(N)).
结果
connectionconnectionConnectionConnectionConnectionconnection 始终返回值 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>)。如有必要,则抛出异常。
可能的前趋
auto_thresholdauto_thresholdAutoThresholdAutoThresholdAutoThresholdauto_threshold,
thresholdthresholdThresholdThresholdThresholdthreshold,
dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold,
erosion1erosion1Erosion1Erosion1Erosion1erosion1
可能的后继
select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape,
select_grayselect_graySelectGraySelectGraySelectGrayselect_gray,
shape_transshape_transShapeTransShapeTransShapeTransshape_trans,
set_coloredset_coloredSetColoredSetColoredSetColoredset_colored,
dilation1dilation1Dilation1Dilation1Dilation1dilation1,
count_objcount_objCountObjCountObjCountObjcount_obj,
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain,
add_channelsadd_channelsAddChannelsAddChannelsAddChannelsadd_channels
替代
background_segbackground_segBackgroundSegBackgroundSegBackgroundSegbackground_seg
另见
set_systemset_systemSetSystemSetSystemSetSystemset_system,
union1union1Union1Union1Union1union1
模块
基础