一: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)和泛洪填充相关推荐

  1. [python opencv 计算机视觉零基础到实战] 八、ROI泛洪填充

    一.学习目标 了解什么是ROI 了解floodFill的使用方法 如有错误欢迎指出~ 目录 [python opencv 计算机视觉零基础到实战] 一.opencv的helloworld [[pyth ...

  2. OpenCV+python:ROI与泛洪填充

    1,ROI 感兴趣区(Region of Interest,ROI) 是图像的一部分,它通过在图像上选择或使用诸如设定阈值(thresholding) 或者从其他文件(如矢量> 转换获得等方法生 ...

  3. OpenCV之ROI和泛洪填充

    一.获取RIO区域 import cv2 as cv import numpy as np print("----------hello python----------") sr ...

  4. 人脸检测-ROI与泛洪填充(5)

    ROI(region of interest)感兴趣区域: 图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI.在Halcon.OpenCV.M ...

  5. OpenCV for Python之图像RIO与泛洪填充

    OpenCV for Python之图像RIO与泛洪填充 1 ROI与泛函填充 2 ROI 3 泛洪填充 Opencv4 官方文档 : https://docs.opencv.org/4.2.0/ O ...

  6. RIO与泛洪填充——(OpenCV+Python)

    1.ROI ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI. 图片截取 ...

  7. OpenCV笔记(1)(图片读取与现实、色彩空间、基础运算、均值方差、逻辑运算、泛洪填充、均值中值及自定义平滑)...

    一.图片读取和显示 import cv2 as cv# 图片读取cv.imread(img_path) car_img = cv.imread("car1.png") # 图片显示 ...

  8. OpenCV中泛洪填充算法解析与应用

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 泛洪填充(Flood Fill)很多时 ...

  9. python填充红色_一起学opencv-python七(ROI,泛洪填充和颜色替换)

    ROI 这个ROI是我们自己选择的,ROI就是图像的一个子集,ROI也可以说是我们需要进行操作的一个区域或者说我们选中的区域.我下面是和opencv的滑条结合了一下,就是滑动滑条,ROI的区域会跟着变 ...

最新文章

  1. 专升本考试计算机知识小抄,大学考试让带“小抄”,学生却说不如闭卷…原因亮了!...
  2. 获取事件相对于文档的位置
  3. SRC漏洞挖掘之偏门资产收集篇
  4. python序列类型tuple_Python常用的序列类型包括列表、元组和字典三种。
  5. nginx编译安装与配置使用
  6. Luogu 4514 上帝造题的七分钟
  7. 写出漂亮代码的七种方法
  8. 【Oracle--原创1】已经连到空闲例的解决办法
  9. ioswebview混编_iOS与H5混编--优秀的第三方框架WebViewJavascriptBridge
  10. Docker 中的网络管理与集群构建
  11. 图的邻接矩阵表示及其基本操作
  12. 苹果手机屏幕镜像_微软应用上线屏幕镜像功能:可在PC端控制安卓手机
  13. Android之Realm详解(非原创)
  14. 敏捷方法:什么是软件测试中的敏捷模式?
  15. 直接收藏-超级好用的国内配色网站
  16. magic版本和android版本,华为荣耀Magic进化版和稳定版区别是什么?
  17. 95后小伙记录一次京东Java实习校招面经,三轮技术面+HR面,已给口头offer!
  18. 虚拟机安装Hadoop
  19. Mac Git 如何设置ssh key
  20. 【雷达】SAR Chirp Scaling(CS)算法+MATLAB代码(转载请标注德雅村支书)

热门文章

  1. 可以上传视频的网站大全
  2. windows下面常用的***测试命令
  3. 使用Netapp与windows server 2012搭建 iSNS服务器
  4. linux-shell面试题
  5. Team Foundation 和 Visual SourceSafe 之间的区别
  6. WPF中的命令与命令绑定(二)
  7. LeetCode 5364. 按既定顺序创建目标数组
  8. PAT1060. 爱丁顿数
  9. oracle数据库同步异步优劣点,ORACLE数据库异步IO介绍
  10. 记一次坑爹报错之旅 -bash: /etc/profile: line 11: syntax error near unexpected token