Opencv 图像处理-Contours函数提取轮廓及感兴趣区域ROI的必用且实用操作技巧-(涵盖Contours的一切使用基础,附代码段)

这篇博客主要介绍了如何利用OpenCV的findcontours和drawcontours函数来抓取图像内的感兴趣区域。内容包括轮廓点大小排序,展示轮廓类型,计算轮廓数量,输出轮廓内容,以及轮廓点个数的确定。通过这些步骤,可以有效地处理图像并提取ROI。此外,还预告了关于轮廓最小外接矩形的绘制和后续操作。
摘要由CSDN通过智能技术生成

        需求目的:一般都是做项目时使用opencv的findcontours和drawcontours搭配使用抓取图像内感兴趣区域。

1.Contours函数轮廓点大小排序

当使用findcontours后一般返回是contours, hierarchy两个,contours内包含的是根据设定模式所返回的轮廓。

最常使用:cv2.RETR_EXTERNAL,此模式只检测外轮廓。(输入图像必须先转灰度图再转二值图,这部分的阈值处理必须做好,调整好系数,使图像达到最理想的状态)

contours的类型为列表,contours[0]存储的是轮廓的高h,contours[1]存储的是轮廓的宽w,因此可使用contours.sort(key=所需轮廓的规则,reverse=False)方法接drawcontours可对区域进行提取,其中reverse=False为升序,True为降序。

当想挑选出所有轮廓点中最小和最大值可这么写(axis是维度):

print("最小的h:",min(np.min(contours[0],axis=2)))
print("最小的w:",min(np.min(contours[1],axis=2)))
print(&#
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值