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[200:400,100:250] 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) #等待用户操作,里面等待参数是毫秒,我们填写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__
1.操作的图像, 2.掩码, 3.起始像素值, #我们指定的第一个点的三个通道值 4.填充的颜色, 5.填充颜色的低值, #低值三通道 6.填充颜色的高值 , #高值三通道 7.填充的方法
参数5.填充颜色的低值就是:参数3的三通道值 减去 参数5 参数6.填充颜色的高值就是:参数3的三通道值 加上 参数6
7.填充的方法 彩色图像一般是FLOODFILL_FIXED_RANGE 指定颜色填充还有一种是FLOODFILL_MASK_ONLY,mask的指定的位置为零时才填充,不为零不填充
def fill_color_demo(image):copyImg = image.copy() #从源图像上克隆出一张新图像h,w = image.shape[:2]mask = np.zeros([h+2,w+2],np.uint8) #+2是为了使边缘像素也被修改print(image[30,30]) #[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([400,400,3],np.uint8)image[100:300,100:300,:]=255cv.imshow("fill_banary",image)mask = np.ones([402,402,1],np.uint8)mask[101:301,101:301] = 0 #这里设置需要加1--->101:301 这是我们填充的图像掩码为0cv.floodFill(image,mask,(200,200),(0,255,0),cv.FLOODFILL_MASK_ONLY) #最好写到我们填充的图像中间cv.imshow("fill_banary2",image)
fill_binary()
1.操作的图像, 2.掩码, 为1不填充,为0才进行填充3.填充图像的中央部分 4.填充的颜色, 5.填充的方法
转载于:https://www.cnblogs.com/ssyfj/p/9261056.html
OpenCV---ROI(region of interest)和泛洪填充相关推荐
- [python opencv 计算机视觉零基础到实战] 八、ROI泛洪填充
一.学习目标 了解什么是ROI 了解floodFill的使用方法 如有错误欢迎指出~ 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的helloworld [[pyth ...
- OpenCV+python:ROI与泛洪填充
1,ROI 感兴趣区(Region of Interest,ROI) 是图像的一部分,它通过在图像上选择或使用诸如设定阈值(thresholding) 或者从其他文件(如矢量> 转换获得等方法生 ...
- OpenCV之ROI和泛洪填充
一.获取RIO区域 import cv2 as cv import numpy as np print("----------hello python----------") sr ...
- 人脸检测-ROI与泛洪填充(5)
ROI(region of interest)感兴趣区域: 图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI.在Halcon.OpenCV.M ...
- OpenCV for Python之图像RIO与泛洪填充
OpenCV for Python之图像RIO与泛洪填充 1 ROI与泛函填充 2 ROI 3 泛洪填充 Opencv4 官方文档 : https://docs.opencv.org/4.2.0/ O ...
- RIO与泛洪填充——(OpenCV+Python)
1.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 图片截取 ...
- OpenCV笔记(1)(图片读取与现实、色彩空间、基础运算、均值方差、逻辑运算、泛洪填充、均值中值及自定义平滑)...
一.图片读取和显示 import cv2 as cv# 图片读取cv.imread(img_path) car_img = cv.imread("car1.png") # 图片显示 ...
- OpenCV中泛洪填充算法解析与应用
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 泛洪填充(Flood Fill)很多时 ...
- python填充红色_一起学opencv-python七(ROI,泛洪填充和颜色替换)
ROI 这个ROI是我们自己选择的,ROI就是图像的一个子集,ROI也可以说是我们需要进行操作的一个区域或者说我们选中的区域.我下面是和opencv的滑条结合了一下,就是滑动滑条,ROI的区域会跟着变 ...
最新文章
- 专升本考试计算机知识小抄,大学考试让带“小抄”,学生却说不如闭卷…原因亮了!...
- 获取事件相对于文档的位置
- SRC漏洞挖掘之偏门资产收集篇
- python序列类型tuple_Python常用的序列类型包括列表、元组和字典三种。
- nginx编译安装与配置使用
- Luogu 4514 上帝造题的七分钟
- 写出漂亮代码的七种方法
- 【Oracle--原创1】已经连到空闲例的解决办法
- ioswebview混编_iOS与H5混编--优秀的第三方框架WebViewJavascriptBridge
- Docker 中的网络管理与集群构建
- 图的邻接矩阵表示及其基本操作
- 苹果手机屏幕镜像_微软应用上线屏幕镜像功能:可在PC端控制安卓手机
- Android之Realm详解(非原创)
- 敏捷方法:什么是软件测试中的敏捷模式?
- 直接收藏-超级好用的国内配色网站
- magic版本和android版本,华为荣耀Magic进化版和稳定版区别是什么?
- 95后小伙记录一次京东Java实习校招面经,三轮技术面+HR面,已给口头offer!
- 虚拟机安装Hadoop
- Mac Git 如何设置ssh key
- 【雷达】SAR Chirp Scaling(CS)算法+MATLAB代码(转载请标注德雅村支书)
热门文章
- 可以上传视频的网站大全
- windows下面常用的***测试命令
- 使用Netapp与windows server 2012搭建 iSNS服务器
- linux-shell面试题
- Team Foundation 和 Visual SourceSafe 之间的区别
- WPF中的命令与命令绑定(二)
- LeetCode 5364. 按既定顺序创建目标数组
- PAT1060. 爱丁顿数
- oracle数据库同步异步优劣点,ORACLE数据库异步IO介绍
- 记一次坑爹报错之旅 -bash: /etc/profile: line 11: syntax error near unexpected token