Python+OpenCV感兴趣区域ROI提取方法

yipeiwu_com6年前Python基础

方法一:使用轮廓

步骤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设计】。

相关文章

手把手教你用python抢票回家过年(代码简单)

手把手教你用python抢票回家过年(代码简单)

首先看看如何快速查看剩余火车票? 当你想查询一下火车票信息的时候,你还在上12306官网吗?或是打开你手机里的APP?下面让我们来用Python写一个命令行版的火车票查看器, 只要在命令...

pygame实现非图片按钮效果

pygame实现非图片按钮效果

本文实例为大家分享了pygame实现非图片按钮效果的具体代码,供大家参考,具体内容如下 按钮类程序 # -*- coding=utf-8 -*- import threading i...

Python3.0与2.X版本的区别实例分析

本文通过列举出一些常见的实例来分析Python3.0与2.X版本的区别,是作者经验的总结,对于Python程序设计人员来说有不错的参考价值。具体如下: 做为一个前端开发的码农,最近通过阅...

Django logging配置及使用详解

1. settings.py文件 做开发离不开必定离不开日志, 以下是我在工作中写Django项目常用的logging配置. # 日志配置 BASE_LOG_DIR = os.pa...

对pandas中两种数据类型Series和DataFrame的区别详解

对pandas中两种数据类型Series和DataFrame的区别详解

1. Series相当于数组numpy.array类似 s1=pd.Series([1,2,4,6,7,2]) s2=pd.Series([4,3,1,57,8],index=['a...