OpenCV---ROI(region of interest)和泛洪填充
一:ROI
感兴趣区(Region of Interest,ROIs) 是图像的一部分,
它通过在图像上选择或使用诸如设定阈值(thresholding) 或者从其他文件(如矢量> 转换获得等方法生成。
感趣区可以是点、线、面不规则的形状,通常用来作为图像分类的样本、掩膜、裁剪区或及其他操作。
(一)获取感兴趣区域
src = cv.imread("./1.png") #读取图片
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE) #创建GUI窗口,形式为自适应
cv.imshow("input image",src) #通过名字将图像和窗口联系
print(src.shape)
flower = src[200:400,100:250]
cv.imshow("flower",flower)
原图:

感兴趣区域:

还原操作:
src = cv.imread("./1.png") #读取图片
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE) #创建GUI窗口,形式为自适应
cv.imshow("input image",src) #通过名字将图像和窗口联系
print(src.shape)
flower = src[:,:]
cv.imshow("flower",flower)
gray = cv.cvtColor(flower,cv.COLOR_BGR2GRAY) #获取一张灰度图像,单一通道
backface = cv.cvtColor(gray,cv.COLOR_GRAY2BGR) #单一通道转3通道
src[200:400,100:250] = backface
cv.imshow("new image",src)
cv.waitKey() #等待用户操作,里面等待参数是毫秒,我们填写0,代表是永远,等待用户操作
cv.destroyAllWindows() #销毁所有窗口

二:泛洪填充floodFill
推文:图像处理------泛洪填充算法(Flood Fill Algorithm) 油漆桶功能
(一)
所谓的floodFill 漫水填充就是在一张图片中,和种子点像素相差在[-loDiff,+upDiff]的时候就用newVal来填充这个点。
def floodFill(image, mask, seedPoint, newVal, loDiff=None, upDiff=None, flags=None): # real signature unknown; restored from __doc__
.操作的图像,
.掩码,
.起始像素值, #我们指定的第一个点的三个通道值
.填充的颜色,
.填充颜色的低值, #低值三通道
.填充颜色的高值 , #高值三通道
.填充的方法
参数5.填充颜色的低值就是:参数3的三通道值 减去 参数5
参数6.填充颜色的高值就是:参数3的三通道值 加上 参数6
.填充的方法
彩色图像一般是FLOODFILL_FIXED_RANGE 指定颜色填充 还有一种是FLOODFILL_MASK_ONLY,mask的指定的位置为零时才填充,不为零不填充
def fill_color_demo(image):
copyImg = image.copy() #从源图像上克隆出一张新图像
h,w = image.shape[:]
mask = np.zeros([h+,w+],np.uint8) #+2是为了使边缘像素也被修改
print(image[,]) #[187 192 191] 用它进行操作的
cv.floodFill(copyImg,mask,(30,30),(0,255,255),(50,50,50),(50,50,50),cv.FLOODFILL_FIXED_RANGE)
cv.imshow("fill_color_demo",copyImg)
src = cv.imread("./1.png") #读取图片
fill_color_demo(src)

(二)FLOODFILL_MASK_ONLY我们可以自定义填充图像,掩码为1不填充,为0进行填充
def fill_binary():
image = np.zeros([,,],np.uint8)
image[:,:,:]=
cv.imshow("fill_banary",image) mask = np.ones([,,],np.uint8)
mask[:,:] = 0 #这里设置需要加1--->101:301 这是我们填充的图像掩码为0
cv.floodFill(image,mask,(200,200),(0,255,0),cv.FLOODFILL_MASK_ONLY) #最好写到我们填充的图像中间
cv.imshow("fill_banary2",image)
fill_binary()
.操作的图像,
.掩码, 为1不填充,为0才进行填充
3.填充图像的中央部分
4.填充的颜色, 5.填充的方法


OpenCV---ROI(region of interest)和泛洪填充的更多相关文章
- [python+opencv] ROI(Range Of Interest)与泛洪填充
python+opencv3.3视频教学 基础入门笔记(贾志刚老师) https://www.bilibili.com/video/av24998616/?p=8 ROI(Range Of Inter ...
- [zt] ROI (Region of Interest) 感兴趣区域 OpenCV
在以前介绍IplImage结构的时候,有一个重要的参数——ROI.ROI全称是”Region Of Interest”,即感兴趣的区域.实际上,它是IPL/IPP(这两个是Inter的库)结构IplR ...
- 八 ROI(region of interest)和泛洪填充
一.ROI 感兴趣区(Region of Interest,ROIs) 是图像的一部分,它通过在图像上选择或使用诸如设定阈值(thresholding) 或者从其他文件(如矢量> 转换获得等方法 ...
- python实现图片的ROI(region of interest)和泛洪填充
目录: (一)ROI操作 (1)获取感兴趣区域(2)还原操作 (二)泛洪填充floodFill 正文: (一)ROI操作 感兴趣区(Region of Interest,ROIs) 是图像的一部分,它 ...
- Python+OpenCV图像处理(六)—— ROI与泛洪填充
一.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 代码如下 ...
- 5、OpenCV Python ROI和泛洪填充
__author__ = "WSX" import cv2 as cv import numpy as np #泛洪填充 从一个点开始 ,填充周围和他相似的点,直到遇到一个边界 # ...
- opencv python:ROI 与 泛洪填充
提取ROI区域,处理然后放回去: 泛洪填充 测试代码:显示一张图像,鼠标点击之后,会从该点开始进行填充,显示填充后的结果图像 注:二值图像的填充需要使用选项:cv2.FLOODFILL_MASK_ON ...
- OpenCV笔记(1)(图片读取与现实、色彩空间、基础运算、均值方差、逻辑运算、泛洪填充、均值中值及自定义平滑)
一.图片读取和显示 import cv2 as cv # 图片读取cv.imread(img_path) car_img = cv.imread("car1.png") # 图片显 ...
- ROI(Region of Interesting)
ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI.在Halcon.Ope ...
随机推荐
- loadrunner socket协议问题归纳(0)
一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socket概述 soc ...
- “Hello World!”团队第九次会议
今天是我们团队“Hello World!”团队召开的第九次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 一.会议时间 20 ...
- s2sh乱码一个小处理(新手按流程走)
解决乱码几小点: 1.配置过滤器,可以选择自己写,既然你用的SSH框架就更简单了,直接用Spring的过滤器,web.xml里配置一下即可. 2.Jsp页面设置编码,所有地方都要相同,我习惯用GBK ...
- Codeforces Round #312 (Div. 2) E. A Simple Task 线段树+计数排序
题目链接: http://codeforces.com/problemset/problem/558/E E. A Simple Task time limit per test5 secondsme ...
- 今目标登录时报网络错误E110
今目标登录的时候报错了,错误代码:E110不论怎么修改都修复不了,百度相关资料也没有,只能联系客服. 经过好久终于联系上了客服,客服给出的解决方案是修改:Enternet选项: 第一步:打开,控制面板 ...
- [Google] 看雪论坛: 安卓碎片化的情况
2018年10月28日早间消息,谷歌方面发布了Android各版本的最新份额数据,截止到10月26日.即便是已经推出3个月了,Android 9 Pie系统的用户数仍旧没有超过0.1%,导致未出现在榜 ...
- 如何在windows下Apache环境开启htaccess伪静态功能
以下文章来自于网络,只做学习用 很多国人习惯用windows服务器或者在windows系统下调试PHP程序,在调试货使用的时候就遇到开启伪静态的各种问题,今天在网络上搜集了一些开启伪静态需要注意 ...
- jQuery+PHP+Mysql在线拍照和在线浏览照片
本文用示例讲述了如何使用jQuery与PHP及Mysql结合,实现WEB版在线拍照.上传.显示浏览的功能,ajax交互技术贯穿本文始末,所以本文的读者要求具备相当熟悉jQuery及其插件使用和javs ...
- 控件属性和InitializeComponent()关系:
namespace Test22 { partial class Form1 { /// <summary> /// 必需的设计器变量. /// </summary> priv ...
- [翻译]Android官方文档 - 通知(Notifications)
翻译的好辛苦,有些地方也不太理解什么意思,如果有误,还请大神指正. 官方文档地址:http://developer.android.com/guide/topics/ui/notifiers/noti ...