Opencv图像分割与提取(2)

本文介绍了OpenCV中利用距离变换进行图像分割的方法。通过距离变换找到离背景最近的像素距离,然后对结果进行二值化处理,从而得到前景区域。通过阈值变换和减法操作,可以进一步确定和分离前景区域。
摘要由CSDN通过智能技术生成

©Fu Xianjun. All Rights Reserved. 

#距离变换介绍  

  剩下的区域不确定是硬币还是背景,这些区域通常在前景和背景接触的区域(或者两个不同硬币接触的区域),我们称之为边界。通过分水岭算法应该能找到确定的边界。由于硬币之间彼此接触,我们使用另一个确定前景的方法,就是带阈值的距离变换。下面左边的图为得到的距离转换图像,其中每个像素的值为其到最近的背景像素(灰度值为0)的距离,可以看到硬币的中心像素值最大(中心离背景像素最远)。对其进行二值处理就得到了分离的前景图,白色区域肯定是硬币区域,而且还相互分离

#距离变换

dist_transform = cv2.distanceTransform(opening, cv2.DIST_L2, 5)

#归一化图像

cv2.normalize(dist_transform, dist_transform, 0, 1.0, cv2.NORM_MINMAX)

plt.imshow(dist_transform, cmap='gray')

plt.show()

#阈值变换-寻找前景区域

ret, sure_fg = cv2.threshold(dist_transform, 0.5*dist_transform.max(), 255, 0)

plt.imshow(sure_fg, cmap='gray')

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值