close_edges_length
名字
close_edges_length• 使用边缘振幅图像闭合边缘间隙。
签名
close_edges_length(边,渐变:闭合边:最小振幅,最大加盖长度: )
描述
close_edges_length闭合边缘探测器输出中的间隙,从而尝试生成完整的对象轮廓。此运算符期望作为输入边 (边缘) 和振幅图像(梯度) 由典型的边缘运算符返回,例如edges_image或sobel_amp.
轮廓分两步闭合:首先,关闭输入轮廓中的一个像素宽间隙,消除隔离点。在此之后,打开的轮廓将延长到最大加盖长度通过添加边点点,直到轮廓闭合或找不到更多重要的边点。梯度被视为显著,如果它大于最小振幅.作为可能的新边点检查的相邻点是轮廓方向上的点及其在 8 个邻域中的两个相邻点。对于每个点,将计算其渐变和该点的最大渐变,三个可能的邻域(在长度 1 前面看)。然后选择具有最大总和的点作为新边点。
并行
多线程类型:重入(与非独占运算符并行运行)。
多线程范围:全局(可以从任何线程调用)。
在元组水平上自动平行。
参数
边缘(input_object)区域(-数组) = 对象
包含一个像素粗边的区域。
梯度(input_object)单通道图像= 对象(字节 / uint2)
边缘振幅(渐变)图像。
闭合边(output_object)区域(-数组) = 对象
包含闭合边的区域。
最小振幅(input_control)整数= (整数)
最小边缘振幅。
默认值: 16
建议值: 5, 8, 10, 12, 16, 20, 25, 30, 40, 50
典型值范围:1 =最小振幅 € 255
最小增量: 1
建议增量: 1
限制: 最小振幅 >= 0
最大加盖长度(input_control)整数= (整数)
边缘延伸的最大点数。
默认值: 3
建议值: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 15, 20, 30, 40, 50, 70, 100
典型值范围:1 =最大加盖长度 € 127
最小增量: 1
建议增量: 1
限制: 最大加盖长度 > 0 & 最大加盖长度 <= 127
示例 (C)
sobel_amp(Image,&EdgeAmp,"sum_abs",5);
threshold(EdgeAmp,&EdgeRegion,40.0,255.0);
skeleton(EdgeRegion,&ThinEdge);
close_edges_length(ThinEdge,EdgeAmp,&CloseEdges,15,3);
结果
close_edges_length如果所有参数都正确,则返回 2 (H_MSG_TRUE)。如果输入为空,则可以通过set_system(‘no_object_result’,<结果>).如有必要,将引发异常。