QQ登录

只需一步,快速开始

halcon detect_edge_segments函数介绍

[ 复制链接 ]
detect_edge_segments(Image : : SobelSize, MinAmplitude, MaxDistance, MinLength : BeginRow, BeginCol, EndRow, EndCol)
detect_edge_segment检测灰度图像Image 中的直线边缘段。
提取的边缘段返回为带有起始点(BeginRow,BeginCol)和结束点(EndRow,EndCol)的线段。
边缘检测基于Sobel滤波器,以“sum_abs”为参数,SobelSize为滤波掩码大小(见sobel_amp)。


只有滤波器响应大于MinAmplitude的像素才作为边缘点的候选。
这些阈值边缘点被变薄并分割成直线段。由于技术原因,导致多边相交的边缘点丢失。
因此,detect_edge_segment通常不返回封闭的对象轮廓。
参数MaxDistance控制边缘点到其近似线的最大允许距离。
为了提高效率,我们用坐标差绝对值的和来代替欧氏距离。
MinLength控制线段的最小长度,小于MinLength的行不返回。


注意,如果使用域缩小的图像作为输入,
过滤器操作符可能会返回意想不到的结果。请参考章节Filters.。


参数:
Image 输入图像
SobelSizeSobel操作符的掩码大小。
MinAmplitude最低边缘强度。
MaxDistance近似线到原边的最大距离。
MinLength到生成线段的最小长度。


BeginRow,BeginCol,EndRow,EndCol 提取线段和起点终点坐标。
例程:
read_image (Image, 'printer_chip/printer_chip_01')
detect_edge_segments (Image, 5,20, 50, 50, BeginRow, BeginCol, EndRow, EndCol)
gen_region_line (RegionLines, BeginRow, BeginCol, EndRow, EndCol)
dev_display (Image)
dev_display (RegionLines)
  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)







回复

使用道具 举报

快速回复 返回列表 客服中心 搜索