7.8.9.BLOB分析及流程,图像分割出区域,区域集合运算及特征筛选

BLOB分析及流程

BLOB分析:将图像分割出区域然后再进行分析
以ball例子为例
流程如下:
读取图片->找产品(即焊板)->缩小区域聚焦于产品上->阈值分割->根据特征找焊点(即圆形,使用圆进行开运算)->统计形状
灰度直方图:可以滑动两端的线控制哪个灰度值的区域显示
在这里插入图片描述

阈值分割的方法

1.普通灰度值分割

threshold(Image, Region, 128, 255)

2.自动分割,例如自动分割黑色区域,使用的是OSTU大津法自动获取分割阈值,适用于简单的,前景和背景明显的

binary_threshold (Image, Region1, 'max_separability', 'dark', UsedThreshold)

3.局部动态阈值分割,一般结合均值滤波使用,适用光线有变化、不均匀的场景,以下代码中,mean中w表示与周围的w个像素做平均,w一般与想找出的线条或者区域的宽度相关,设宽度为d,则w一般取值为2*d+1,dyn中c表示像素的灰度差

mean_image (Image, ImageMean, w, w)
dyn_threshold (ImageMean, ImageMean, RegionDynThresh, c, 'light')

区域集合运算及特征筛选

形态学运算:开、闭、膨胀、腐蚀,集合运算:union(并)、difference(减)、intersection(交)

例子:目标是找到那7个小圆点,思路是先找到下图黄色的矩形,然后缩小范围找到绿色矩形再到大圆,然后再缩小范围找到小圆
1.阈值分割,打散,打散后绿色部分智能找到边界,然后使用fill_up填充绿色部分,再使用矩形开运算找到绿色的矩形在这里插入图片描述
2.然后通过面积或者矩形度,进一步筛选出下图绿色的小矩形
在这里插入图片描述
3.使用交运算,将矩形和之前打散的部分相交,得到矩形内的所有小元素及其边界,为一个整体,注:一个和一个交运算结束后结果为一个整体,多个和一个交运算结果为多个,交运算前后是有区别的
在这里插入图片描述
4.再次打散在这里插入图片描述
5.使用圆度加外接圆半径寻找大圆圈
在这里插入图片描述
6.再将大圆与上次打散相交,得到大圆内的元素
在这里插入图片描述
7.再使用面积寻找小圆,并寻找多少个,求半径
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值