Halcon算子翻译:close_edges_length

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’,<结果>).如有必要,将引发异常。

原创文章 30 获赞 17 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_32939413/article/details/104146473