halcon 不均匀表面刮伤检测_


*关闭程序计数器,图形变量更新,窗口图形更新
dev_update_off ()
*关闭已打开的窗口
dev_close_window ()

************************************************第一步: 获取图像**************************************************
*读取图像
read_image (Image, 'image.png')

*获取图像大小
get_image_size (Image, Width, Height)

*打开一个新窗口
dev_open_window_fit_image (Image, 0, 0, Width, Width, WindowID)

*设置字体信息:字体大小为16,字体为mono,粗体,斜体
set_display_font (WindowID, 16, 'mono', 'true', 'false')

*设置区域的填充方式
dev_set_draw ('margin')

*设置线宽度
dev_set_line_width (4)

*显示图像
dev_display (Image)


 
************************************************第二步: 分割图像**************************************************

* 均值滤波,滤波核大小为7*7
mean_image (Image, ImageMean, 7, 7)
* 用局部阈值进行分割
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', 10, 1000)

dev_display (Image)

dev_display (SelectedRegions)


* 将SelectedRegions中的所有区域合并
union1 (SelectedRegions, RegionUnion)

* 对合并区域进行膨胀处理,其结构元素为圆形,半径为3.5
dilation_circle (RegionUnion, RegionDilation, 3.5)

dev_display (Image)

dev_display (RegionDilation)
Message := 'Region of the scratches after dilation'


* 对膨胀后的区域进行求骨架
skeleton (RegionDilation, Skeleton)

* 对获取的骨架区域进行连通处理
connection (Skeleton, Errors)

dev_set_colored (12)

dev_display (Image)

dev_display (Errors)


************************************************第三步: 获取大缺陷和小缺陷**************************************************

*过滤出大的缺陷
select_shape (Errors, Scratches, 'area', 'and', 50, 10000)

*过滤出小的缺陷
select_shape (Errors, Dots, 'area', 'and', 1, 50)

dev_display (Image)

dev_set_color ('red')

dev_display (Scratches)

dev_set_color ('blue')

dev_display (Dots)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值