边缘缺陷检测

您所在的位置:网站首页 python图像边缘缺陷检测 边缘缺陷检测

边缘缺陷检测

2023-03-18 22:11| 来源: 网络整理| 查看: 265

原图来自Ihalcon论坛

缺陷如在下图圆框中

image.png

首先,阈值分割+形态学处理,将包含边缘部分图像进行抠图

然后使用canny滤波器进行边缘检测

如下图红、绿双线

image.png

将凸起部分平滑掉,细节如下右图

image.png

计算待检测边缘上的点到平滑后边缘的距离,超过一定阈值公差即为缺陷

如下图

image.png

缺陷检测关键代码

*选择待检测边缘       select_obj(UnionContours, ObjectSelected, Index)       *平滑边缘       smooth_contours_xld (ObjectSelected, SmoothedContours, 89)       *阈值公差       disTH := 5       *用于保存缺陷边缘X坐标       flawPtsX :=[]        *用于保存缺陷边缘Y坐标       flawPtsY :=[]       *得到待检测边缘点坐标       get_contour_xld(ObjectSelected, Row2, Col2)       *待检测边缘上点到平滑边缘的距离       tuple_length(Row2, Length)       for Index1 := 0 to Length-1 by 1           distance_pc(SmoothedContours, Row2[Index1], Col2[Index1], DistanceMin, DistanceMax)           *根据公差判断是否合格           if(DistanceMin > disTH)               flawPtsX :=[flawPtsX,Col2[Index1]]               flawPtsY :=[flawPtsY,Row2[Index1]]           endif       endfor             *将缺陷点生成区域,并进一步筛选       gen_region_points(Region1, flawPtsY, flawPtsX)       dilation_circle(Region1, RegionDilation, 5)       connection(RegionDilation, ConnectedRegions1)       select_shape(ConnectedRegions1, SelectedRegions1, 'area', 'and', 200, 99999)       gen_empty_obj(EmptyObject)       count_obj(SelectedRegions1, Number1)       *再从筛选后的区域,选择不合格的边缘       for Index1 := 1 to Number1 by 1           select_obj(SelectedRegions1, ObjectSelected2, Index1)           smallest_rectangle1(ObjectSelected2, Row11, Column11, Row21, Column2)           clip_contours_xld(ObjectSelected, ClippedContours, Row11, Column11, Row21, Column2)           concat_obj(EmptyObject, ClippedContours, EmptyObject)               endfor       *连接相邻不合格边缘缺陷       union_adjacent_contours_xld(EmptyObject, EmptyObject, 50, 1, 'attr_keep')              *合并缺陷       concat_obj(FlawEdgeObject, EmptyObject, FlawEdgeObject)

原图及详细注释的完整源代码见链接:

https://download.csdn.net/download/suneggs/12611149

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3