导读

本文主要介绍一个密集粘连药片分割计数综合实例的实现方法和总结。

 背景介绍

在实际的视觉应用场景中,我们常常会遇到物体/元件的计数问题,而计数时比较常见的情形就是物体相邻或粘连,对相邻或粘连物体的分割将直接影响着最终计数的准确性。后面将分篇介绍粘连物体分割计数的常用方法,包括:

​【1】形态学 + 连通域处理方法(点击查看)​

​【2】距离变换 + 分水岭分割方法(点击查看)​

【3】其他方法(具体问题具体分析实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_应用实例)

本文将对第【3】种方法以案例形式具体讲解。

实例演示与实现步骤

* 应用实例:密集粘连药片分割与计数

测试图像(图片来源--网络):

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_02

简单分析:

  • 上图中粘连区域较多,且粘连部分与药片本身高度差异不是很大,使用形态学或者分水岭算法很难将其简单分割出来。
  • 考虑可行的方法[1]层层突破,先分割独立药片,在逐步分割粘连药片。[2] 深度学习实例分割方法。
  • 本文还是采用传统方法[1]来实现。


实现步骤:

【1】先分割独立药片:

  • 阈值分割

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_应用实例_03

  • 形态学腐蚀 + 开运算

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_04

  • 根据面积大小筛选,提取单独分离的药片

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_微信_05

  • 膨胀--使轮廓接近原始大小(并备份此区域 + 计数)

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_微信_06


【2】循环分割粘连药片:

  • 区域做差,提取剩余粘连药片部分

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_07

  • 求各区域对应凸包

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_08

  • 凸包与凸包处理前区域做差

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_应用实例_09

  • 开运算

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_10

  • 闭运算(这个时候就凸显了Halcon Region的好处,可以对各个Region单独处理,如果是OpenCV基本会粘连成一片)

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_微信_11

  • 闭运算结果与粘连药片区域做差

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_应用实例_12

  • 根据面积大小筛选,剩余药片部分

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_13

  • 膨胀回原来大小

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_14

  • 把刚刚提取的药片叠加到第【1】步结果

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_深度学习_15

循环步骤【2】,直到当前轮廓数量为0,计数累加

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_应用实例_16

实战 | 粘连物体分割与计数应用(三)--密集粘连药片分割+计数案例_应用实例_17


—THE END—