Halcon教程十一:小球识别,初识腐蚀与膨胀,开运算和闭运算

在前面的博客里面
我有发布过两个例子
一个是识别条码 一个是识别回形针个数和方向
识别条码用到了内置的算子
create_bar_code_model
halcon这个算子还是蛮强大的
我当时用工业相机去实时采集 很多拍下来的条码都能显示正确
既然后面涉及到了个数的识别
然后我想看更多的例子
好的 这个时候 我们点击一下halcon示例
在搜索栏输入 count
在这里插入图片描述
可以看到 关于个数的识别 halcon有三个示例程序
给大家翻译一下哈
第一个是识别瓶子个数,可以看到是用瓶口来识别的
在这里插入图片描述

第二个是识别鱼条个数(我不知道是什么,感觉想在识别超市里卖的小香肠)
在这里插入图片描述
第三个是识别小球,或者说是小石头什么的吧
在这里插入图片描述
那么在识别糖豆的时候接触到了两个很有意思的函数
腐蚀与膨胀
在识别中 :这是一个非常重要的概念
大家可以看图中紧挨着的小球
当我们直接去识别的时候
在这里插入图片描述
截图来自教程三
用connect 函数进行区域连通处理
在这里插入图片描述
这些紧挨着的小球 会被识别成一个
后面如果直接获取个数对象 那么这些玩意是识别不出来的
当然如果你给的识别区域面积足够大 他们会被识别成一个
这个时候 我们需要做一件什么事情呢

那就是进行开运算
那就介绍一下开运算和闭运算吧

不对 应该先介绍腐蚀与膨胀

膨胀操作会扩大(粗化)图像中物体的轮廓,可以用来弥补(填充)物体间的孔洞,强化离散点,代价是导致物体的面积比原来的面积要大。

腐蚀操作会收缩(细化)图像中物体的轮廓,可以用来断开(分离)物体间的连接,消除离散点,代价是导致物体的面积比原来的面积要小。

开运算是使用同一结构元素对图像进行先腐蚀后膨胀的操作,可以用来平滑物体的轮廓,断开物体间较窄的连接,消除物体边沿尖锐的突出部分。

闭运算是使用同一结构元素对图像进行先膨胀后腐蚀的操作,可以用来修正物体的轮廓,填充物体间较窄的连接。

直接看文字应该只能理解一般 那我们图文并茂
在这里插入图片描述

第一张是原图
第二张进行了腐蚀操作
第三张进行了 膨胀操作
就行进行了我们所说的开运算
现在大家可以看到 图一中那些最开始连接着的小球
到了第三张图去还原的时候全部都分开识别了

原halcon示例太长 我们取核心代码
在这里插入图片描述

read_image (Image, 'pellets')
get_image_size (Image, Width, Height)
binary_threshold (Image, LightRegion, 'max_separability', 'light', UsedThreshold)
opening_circle (LightRegion, Region, 3.5)
connection (Region, ConnectedRegionsWrong)
erosion_circle (Region, RegionErosion, 7.5)
connection (RegionErosion, ConnectedRegions)
dilation_circle (ConnectedRegions, RegionDilation, 7.5)
count_obj (RegionDilation, Number)

解释一下他的操作
打开图片
进行二值化阈值处理
使用开运算筛选半径大于3.5的圆形
然后进行连通处理
然后进行腐蚀操作分开小球
然后进行连通处理 小球分开
然后在进行膨胀操作 进行还原
然后数个数

这样就是完整的操作流程了

图像识别其实需要的知识面挺广的
我们这些小打小闹只是做一个入门的操作
熟悉了一下Halcon
当我们遇到更加有难度的图像时
我们该如何去识别
那就需要更多的知识体系了
我最近也开始看一本书了
准备把重点 给大家记录下来
让大家学习起来更轻松
有难度的事情就交给我吧!
如果要学习Halcond的话可以关注一下我哦

  • 22
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值