Blob分析---board.hdev(漏焊检测)

目录

一、程序源码分析

1、更新、关闭、打开新窗口

2、读取图像并将图像转化为多通道图像

3、从元组中选择对象输出显示

4、对多通道图像的像素值进行平均,会发现焊接区域边缘是银色,内部是黑色,有利于区分焊接区域与未焊接区域

5、找出暗的区域,也就是焊接区域

6、找出亮的区域,包括电路板背景与焊接区域边缘

7、取交集得到银色焊接区域边缘轮廓

8、通过取焊接区域的补集得到不需要焊接的区域

9、根据不需要焊接的区域与焊接区域边缘轮廓得到已焊接区域

10、需要焊接的区域减去已焊接区域得到未焊接区域

11、填充漏焊区域

12、对漏焊区域进行筛选,去除细节干扰,并对漏焊区域内的不连通区域计数

二、相关算子

1、get_system ('clip_region', Information)

2、set_system ('clip_region', 'true')

3、channels_to_image (Images, Ic)

4、select_obj (Images, Input1, 1)

5、mean_n (Ic, ImageMean)

6、union1 (Darks, Dark)

7、intersection (DarkFilled, Light, Intersection)

8、complement (DarkFilled, Back)

9、expand_region (Intersection, Back, RegionExpanded, 10, 'image')

10、difference (DarkFilled, Good, Rest)

11、expand_gray (Rest, Ic, Good, Bad, 6, 'image', 5)

12、count_obj (BigBad, NumMissingSolder)


一、程序源码分析

1、更新、关闭、打开新窗口

// board.hdev: Detection of missing solder漏焊检测

get_system ('clip_region', Information)
set_system ('clip_region', 'true')
// Get_system返回set_system设置的所有参数的信息

dev_update_window ('off')
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowID)

2、读取图像并将图像转化为多通道图像

  • 读取的是不同照明方向拍摄的图像

read_image (Images, ['ic0', 'ic1', 'ic2', 'ic3'])
// 将单通道图像转换为多通道图像
channels_to_image (Images, Ic)


3、从元组中选择对象输出显示

select_obj (Images, Input1, 1)
dev_display (Input1)
set_display_font (WindowID, 14, 'mono', 'false', 'false')
disp_continue_message (WindowID, 'black', 'true')
stop ()
select_obj (Images, Input2, 2)
dev_display (Input2)
disp_continue_message (WindowID, 'black', 'true')
stop ()
select_obj (Images, Input3, 3)
dev_display (Input3)
disp_continue_message (WindowID, 'black', 'true')
stop ()
select_obj (Images, Input4, 4)
dev_display (Input4)
disp_continue_message (WindowID, 'black', 'true')
stop ()

4、对多通道图像的像素值进行平均,会发现焊接区域边缘是银色,内部是黑色,有利于区分焊接区域与未焊接区域

mean_n (Ic, ImageMean)
dev_display (ImageMean)

5、找出暗的区域,也就是焊接区域

threshold (Images, Darks, 0, 40)
union1 (Darks, Dark)
fill_up (Dark, DarkFilled)
dev_set_color ('green')
dev_display (DarkFilled)
disp_continue_message (WindowID, 'black', 'true')
stop ()

6、找出亮的区域,包括电路板背景与焊接区域边缘

threshold (Images, Lights, 100, 255)
union1 (Lights, Light)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盾山狂热粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值