当前位置: 首页> 文旅> 酒店 > Halcon机器视觉15种缺陷检测案例_2不均匀表面刮伤检测

Halcon机器视觉15种缺陷检测案例_2不均匀表面刮伤检测

时间:2025/7/11 14:31:45来源:https://blog.csdn.net/cjh16606260986/article/details/140409246 浏览次数:0次

2: 不均匀表面刮伤检测

思路

        1、获取图像

        2、分割图像

        3、处理区域 

        4、获取大,小缺陷

效果

原图

代码

*02 不均匀表面刮伤检测
dev_update_off ()
dev_close_window ()*****************第一步 获取图像*******************
read_image (Image, '2.不均匀表面刮伤检测')
get_image_size (Image, Width, Height)
*打开图像窗口
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
*设置区域的填充方式
dev_set_draw ('margin')
*设置线的宽度
dev_set_line_width (4)
*显示图像
dev_display (Image)**************第二步 分割图像**************
*均值滤波,滤波核大小为7*7(重点)
mean_image (Image, ImageMean, 30, 30)
*局部阈值进行分割(重点)
dyn_threshold (Image, ImageMean, DarkPixels, 5, 'dark')
*连通
connection (DarkPixels, ConnectedRegions)
*设置输出对象的显示色的数目
dev_set_colored (12)
dev_display(Image)
dev_display(ConnectedRegions)**************第三步 处理区域**************
*根据面积选择区域
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 50, 99999)
dev_display(Image)
dev_display(SelectedRegions)
*将选择区域合并
union1 (SelectedRegions, RegionUnion)
*对合并区域进行膨胀处理,其结构元素为圆形,半径3.5
dilation_circle (RegionUnion, RegionDilation, 3.5)
dev_display(Image)
dev_display(RegionDilation)
*对膨胀后的区域进行求骨架
skeleton (RegionDilation, Skeleton)
*对获取的骨架区域进行连通处理
connection (Skeleton, Errors)
*设置输出对象的显示色的数目
dev_set_colored (12)
dev_display(Image)
dev_display(Errors)**************第四步 获取大,小缺陷******************************************
*过滤出大缺陷
select_shape (Errors, ScratChes, 'area', 'and', 100, 99999)
*过滤出小缺陷
select_shape (Errors, Dots, 'area', 'and', 1, 99)
dev_display(Image)
dev_set_color('red')
dev_display(ScratChes)
dev_set_color('blue')
dev_display(Dots)

关键字:Halcon机器视觉15种缺陷检测案例_2不均匀表面刮伤检测

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: