Halcon学习路线——Blob分析(2)

1. 看一个实际案例

  • 这是一块电池,右侧有两个极耳,极耳相对电池的位置固定。
    在这里插入图片描述
  • 力神的检测部门会对电池进行抽检,他们使用的工具是一个电木模具,类似于下面的图形,它可以有效的限制住电池的上限。(NG一般是电池尺寸超出标准,所以对电池尺寸的下限不需要限制)
  • 如果电池能放入模具中,则认为合格,如果放不进去就是不合格,那么该如何来设计算法来判断电池是否合格呢
  • 电池的极耳会漏在外面
    在这里插入图片描述

2. 解决方案和代码

在这里插入图片描述
halcon代码

read_image (Image, '08-45-01-715_N491266H33967')

* 设置ROI
gen_rectangle1 (ROI_1, 2120.94, 4169.55, 2583.03, 4954.1)
gen_rectangle1 (ROI_2, 2751.07, 4152.49, 3192.16, 4954.1)
* 区域并集(加法)
union2 (ROI_1, ROI_2, ROI_3)
gen_rectangle1 (ROI_4, 1081.22, 1901.18, 3979.82, 5252.57)
* 区域差集(减法)
difference (ROI_4, ROI_3, RegionDifference)

* 抠图
reduce_domain (Image, RegionDifference, ImageReduced)
* 二值化
threshold (ImageReduced, Regions, 0, 100)
*dilation_circle (Regions, RegionDilation, 5.5)
* 分割
connection (Regions, ConnectedRegions)
* 筛选
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 3.22343e+006, 5e+006)

* 最小外接矩形
smallest_rectangle2 (SelectedRegions, Row, Column, Phi, Length1, Length2)
gen_rectangle2_contour_xld (Rectangle, Row, Column, Phi, Length1, Length2)

* 显示
dev_set_line_width (2)
dev_display (Image)
dev_display (Rectangle)

* 对比电池的尺寸和模具尺寸
set_display_font (3600, 16, 'mono', 'true', 'false')
disp_message (3600, 'L1:'+2*Length1, 'image', Row, Column-400, 'cyan', 'false')
disp_message (3600, 'L2:'+2*Length2, 'image', Row+400, Column-400, 'green', 'false')

3. 资源下载

https://download.csdn.net/download/weixin_38566632/35324003

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MechMaster

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

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

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

打赏作者

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

抵扣说明:

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

余额充值