halcon 缺陷检测 IC检查

请添加图片描述

图片资源

链接:https://pan.baidu.com/s/1o8TzFc9e5OrMETeCElE7zA
提取码:zldb

处理流程

1、彩色图片 转换为hsv分量
2、饱和度图片 获取红色矩形区域
3、饱和度图片 获取蓝色标签区域
4、亮度图片 获取芯片主体区域
5、亮度图片 获取芯片 PIN位置

完整代码

* IC检查

**** 1、读取图片并显示 ****************************
dev_close_window ()
read_image (Image, './ic.png')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowID)
dev_set_draw ('fill')
dev_set_part (0, 0, Height - 1, Width - 1)
dev_display (Image)
dev_set_colored (12)

**** 2、彩色图片 转换为hsv分量 ****************************
* 彩色图片抽取 RGB
decompose3 (Image, Red, Green, Blue)
* RGB 转换为 HSV图片 Hue 色度 Saturation饱和度 Intensity 亮度
trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')

**** 3、饱和度图片 获取红色矩形区域 ****************************
* 使用饱和度图片 红色区域
threshold (Saturation, Colored, 100, 255)
* 色度图片中 聚焦红色区域
reduce_domain (Hue, Colored, HueColored)
* 二值化 黑色区域(红色)
threshold (HueColored, Red, 10, 19)
* 连通域分析
connection (Red, RedConnect)
* 挑选电阻红色标识区域
select_shape (RedConnect, RedLarge, 'area', 'and', 150.000000, 99999.000000)
* 电阻外接矩形
shape_trans (RedLarge, Resistors, 'rectangle2')
dev_clear_window ()
dev_set_draw ('margin')
dev_display (Image)
dev_display(Resistors)

**** 4、饱和度图片 获取蓝色标签区域 ****************************
* 二值化
threshold (HueColored, BlueLabel, 114, 137)
* 连通域分析
connection (BlueLabel, BlueConnect)
* 连通域挑选(面积筛选)
select_shape (BlueConnect, BlueLarge, 'area', 'and', 150.000000, 99999.000000)
* 最小外接矩形
shape_trans (BlueLarge, Capacitors, 'rectangle2')

**** 5、亮度图片 获取芯片主体区域 ****************************
* Intensity亮度图片 暗区芯片主体
threshold (Intensity, Dark, 0, 50)
* 芯片主体 矩形膨胀
dilation_rectangle1 (Dark, DarkDilation, 14, 14)
* 连通域分析
connection (DarkDilation, ICLarge)
* 亮度图中 每个连通域获取灰度图
add_channels (ICLarge, Intensity, ICLargeGray)

* 二值化(芯片主体)
threshold (ICLargeGray, ICDark, 0, 50)
* 获取外接矩形
shape_trans (ICDark, IC, 'rectangle2')

**** 6、芯片PIN接口区域 ****************************
* 芯片区域左右膨胀
dilation_rectangle1 (IC, ICDilation, 5, 1)
* 芯片左右搜索区域中心线
difference (ICDilation, IC, SearchSpace)
* 搜索区域膨胀(中心线)
dilation_rectangle1 (SearchSpace, SearchSpaceDilation, 14, 1)
* 合并搜索膨胀区
union1 (SearchSpaceDilation, SearchSpaceUnion)
* 获取搜索灰度图
reduce_domain (Intensity, SearchSpaceUnion, SearchGray)
* 动态二值化
mean_image (SearchGray, SearchMean, 15, 15)
dyn_threshold (SearchGray, SearchMean, PinsRaw, 5.000000, 'light')
* 连通域分析
connection (PinsRaw, PinsConnect)
* 填充连通域
fill_up (PinsConnect, PinsFilled)
* 面积筛选 PIN
select_shape (PinsFilled, Pins, 'area', 'and', 10, 100)
**** 7、显示结果 ****************************
* 显示IC区域
dev_display (Image)
dev_set_draw ('margin')
dev_set_line_width (3)
dev_set_color ('red')
dev_display (IC)
* 显示红色矩形区域
dev_set_color ('green')
dev_display (Resistors)
* 显示标签
dev_set_color ('blue')
dev_display (Capacitors)
* 显示pin
dev_set_color ('yellow')
dev_display (Pins)

结果图片

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

廷益--飞鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值