python二值化 感兴趣区域_Python+OpenCV感兴趣区域ROI提取方法

本文介绍了如何使用Python和OpenCV库进行感兴趣区域(ROI)的提取。首先,通过将原图转换为灰度图并应用自适应阈值处理来提取轮廓。然后,利用drawContours函数在ROI上填充白色,并通过图像交运算获取ROI。此外,还提供了一种直接通过索引来截取ROI的简单方法。这些方法对于图像处理和分析任务非常有用。
摘要由CSDN通过智能技术生成

方法一:使用轮廓

步骤1

"""src为原图"""

ROI = np.zeros(src.shape, np.uint8) #感兴趣区域ROI

proimage = src.copy() #复制原图

"""提取轮廓"""

proimage=cv2.cvtColor(proimage,cv2.COLOR_BGR2GRAY) #转换成灰度图

proimage=cv2.adaptiveThreshold(proimage,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,7,7)

proimage,contours,hierarchy=cv2.findContours(proimage,cv2.RETR_CCOMP,cv2.CHAIN_APPROX_NONE) #提取所有的轮廓

步骤2

"""ROI提取"""

cv2.drawContours(ROI, contours, 1,(255,255,255),-1) #ROI区域填充白色,轮廓ID1

ROI=cv2.cvtColor(ROI,cv2.COLOR_BGR2GRAY) #转换成灰度图

ROI=cv2.adaptiveThreshold(ROI,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,7,7) #自适应阈值化

imgroi= cv2.bitwise_and(ROI,proimage) #图像交运算 ,获取的是原图处理——提取轮廓后的ROI

2.#imgroi = cv2.bitwise_and(src,src,mask=ROI)

3.#imgroi = ROI & src 无需灰度+阈值,获取的是原图中的ROI

方法二

img1 = cv2.imread('roi.jpg')

roi = img1[0:rows, 0:cols ]

以上这篇Python+OpenCV感兴趣区域ROI提取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: Python+OpenCV感兴趣区域ROI提取方法

本文地址: http://www.cppcns.com/jiaoben/python/249654.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值