一、ROI提取

1、定义:ROI提取称对感兴趣区域提取。
2、作用:勾勒感兴趣的区域,可以是方框、圆、椭圆、不规则形状等。
3、应用:以视频监控领域ROI智能视频编码技术为例,具有ROI功能的摄像机可以让用户选择画面中感兴趣的区域,对重要的或者移动的区域将会进行高质量无损编码;对那些不移动,不被选择的区域降低其码率和图像质量,进行标准清晰度视频压缩或传输这部分区域视频,以达到节省网络带宽占用和视频存储空间。

# ROI提取区域
face = src[120:250, 200:450]  # 前面高度,后面宽度
hsv = cv.cvtColor(face, cv.COLOR_RGB2HSV)
backface = cv.cvtColor(hsv, cv.COLOR_HSV2BGR)
src[120:250, 200:450] = backface
cv.imshow('face', src)

二、泛洪填充

FLOODFILL_FIXED_RANGE – 改变图像,泛洪填充
FLOODFILL_MASK_ONLY –不改变图像、只填充遮罩层本身、忽略新的颜色值参数

1、原理:以指定的像素点为基点,设置像素值的上限与下限,所有处于上下限范围内的像素,都会被填充为新的颜色。
2、实现算法:有四邻域像素填充法,八邻域像素填充法,基于扫描线的像素填充方法等。
3、彩色图像填充

# 彩色图像的填充
def fill_color_demo(image):copyImg = image.copy()h, w = image.shape[:2]"""np.zeros (shape, dtype, order)Shape: 可以是一维、二维、三维.其中三维,shape = [m , a, b] 表示生成m个a*b的0矩阵dtype:可选参数;数据类型,默认numpy.float64order: 可选参数;c代表与c语言类似,行优先;F代表列优先"""mask = np.zeros([h + 2, w + 2], np.uint8)# 参数:1原图,2mask图,3起始点,4填充的颜色 5起始点值减去该值作为最低值,6起始点值加上该值作为最高值,7彩色图模式,最高值与最低值之间是填充的颜色cv.floodFill(copyImg, mask, (30, 30), (0, 255, 255), (100, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)cv.imshow('fill_color_demo', copyImg)


4、二值图像填充

# 二值图像的填充
def fill_binary():image = np.zeros([400, 400, 3], np.uint8)image[100:300, 100:300, :] = 255cv.imshow('fill_binary', image)"""ones()函数返回给定形状和数据类型的新数组,其中元素的值设置为1.shape:一个整数类型或者一个整数元组,用于定义数组的大小。如果仅指定一个整数类型变量,则返回一维数组。如果指定的是整数元组,则返回给定形状的数组."""mask = np.ones([402, 402, 1], np.uint8)  # 必须是mask.rows == size.height+2 && mask.cols == size.width+2mask[101:301, 101:301] = 0# FLOODFILL_MASK_ONLY - 这个标识符时函数不会去填充改变原始图像 (也就是忽略第三个参数), 而是去填充掩模图像(mask)。# mask的指定的位置为零时才填充,不为零不填充cv.floodFill(image, mask, (200, 200), (66, 66, 255), cv.FLOODFILL_MASK_ONLY)cv.imshow('filled_binary', image)

def fill_binary(image):
copyImg = image.copy()copyImg[120:250, 200:450, :] = 255h, w = copyImg.shape[:2]print(copyImg.shape[:2])mask = np.ones([h + 2, w + 2], np.uint8)  # 必须是mask.rows == size.height+2 && mask.cols == size.width+2mask[121:251, 201:451] = 0  # mask的指定的位置为零时才填充,不为零不填充# FLOODFILL_MASK_ONLY - 这个标识符时函数不会去填充改变原始图像 (也就是忽略第三个参数), 而是去填充掩模图像(mask)。cv.floodFill(copyImg, mask, (200, 200), (0, 165, 255), cv.FLOODFILL_MASK_ONLY)cv.imshow('filled_binary', copyImg)

ROI感兴趣区域提取与泛洪填充相关推荐

  1. 指静脉代码学习---5.ROI感兴趣区域提取/图像分割

    一.相关论文 1.roi提取技术大概分为下面四类 2.论文一Qin:  经典的阈值确定方法有:

  2. opencv 感兴趣区域提取 (ROI)

    opencv 感兴趣区域提取 (ROI) 1)使用像素坐标来提取ROI,前提是知道感兴趣区域的具体坐标范围 def img_cut():os.chdir(input)img_row = 1for im ...

  3. 基于matlab得图像感兴趣区域提取

    对于图像感兴趣区域(ROI)的提取,一般从来两个方面着手解决:一是利用图像分割技术提取ROI:二是从人眼得视觉特征出发,通过模拟人眼得视觉特点,寻找特定得视觉敏感区域,并将这些视觉敏感区域排序作为RO ...

  4. OpenCV(十)ROI感兴趣区域

    目录 1.概念 2.代码 3.效果 参考资料 1.概念 在图像处理的时候,常常我们只想对一部分图像进行处理,也就是感兴趣区域(ROI,region of interest).我们把一部分图像区域分化独 ...

  5. openCV_C++笔记 : ROI感兴趣区域与Rect类

    序 在使用rect作为感兴趣区域的时候一直没有弄懂使用感兴趣区域如何将处理后图像拼到原图像中 以及 使用感兴趣区域定位的坐标要是不是原图像的坐标这两个问题,查了很多资料,大多数都是用代码一笔带过. 自 ...

  6. opencv-python 指静脉的ROI(感兴趣区域)的指节提取(原理+代码)

    静脉采集过程中,由于手指自由度比较大,所以可能会有手指旋转,平移等现象,这有可能使得同一个手指的两次采集图像差别较大.这是我们不希望看到的.所以对图像进行ROI的提取非常有必要,也是图像预处理的一个过 ...

  7. OpenCV入门(十一):感兴趣区域提取

    void inRange(InputArray src, InputArray lowerb,InputArray upperb, OutputArray dst); inRange函数对于图像数据来 ...

  8. openCV任意几何形状感兴趣区域(ROI)提取

    图像感兴趣区域(ROI)提取主要使用掩模来进行.掩模是二值图像,感兴趣区域的掩模值设置为255,非感兴趣区域的掩模值为0 获取掩模的方法主要有两种 方法一 使用opencv中Mat函数方法,调用Mat ...

  9. OpenCV python(二)图像预处理:改变图像大小 提取感兴趣区域

    OpenCV python(二)图像预处理:改变图像大小 && 提取感兴趣区域 一.改变图像大小 1.获取图像宽.高.通道数 2.resize函数 3.案例 二.ROI感兴趣区域 1. ...

最新文章

  1. Lync Server 2013 部署前端池支持NLB吗?
  2. 安卓点击图片跳转界面_安卓手机APP控制无线开关的电路方案设计(原理图+源码)...
  3. MYSQL 常用 DDL
  4. 14行代码满分:1037 在霍格沃茨找零钱 (20分)
  5. npp夜光数据介绍 viirs_科研成果快报第177期:中国地区长时序AVHRR气溶胶数据的主要问题: 气溶胶反演频次与重污染天气...
  6. 秦九韶算法matlab实验报告,数值分析上机实验报告.doc
  7. 尤金·卡巴斯基:卡巴斯基实验室调查内网遭黑客攻击事件
  8. 人脸识别冤枉了98%的好人,伦敦警察局长:我很满意
  9. 【安全风险通告】Spring Framework远程代码执行漏洞(CVE-2022-22965)安全风险通告第二次更新...
  10. 使用Android开发工具23版更新Eclipse
  11. 吴恩达神经网络和深度学习-学习笔记-44-anchor box
  12. mysql 事务补偿_分布式事务之消息补偿解决方案
  13. U8字符串(u8前缀)的作用
  14. DBProxy快速入门教程
  15. 连接 mysql 数据库的 失败_MySQL_连接MySQL数据库失败频繁的原因分析,连接mySQL数据库失败频繁,主 - phpStudy...
  16. lisp语言与python_Lisp 语言优点那么多,为什么国内很少运用?
  17. Windows编程画太极图
  18. 【Zabbix】Zabbix微信告警配置演示
  19. 安全灵活,华为云桌面成为数字化办公最佳搭档
  20. java字符串数组转换

热门文章

  1. 使用Fluorine实现Flash与.NET通信
  2. canvas画布加载图片 - Kaiqisan
  3. 《机器学习实战》学习笔记(3)—— 朴素贝叶斯
  4. 《痞子衡嵌入式半月刊》 第 53 期
  5. 10大让Java程序员节省时间、放飞自我的开源库
  6. 光驱挂载安装linux虚拟机,Linux虚拟机中挂载光驱——rpm包安装
  7. FPGA基础入门【8】开发板外部存储器SPI flash访问
  8. PMP_模考一 (3A通过分享)(180题附答案及解析)
  9. 阿里安全归零实验室首度揭秘真实的“黄牛软件江湖”
  10. 实战商城app墨刀原型设计-设计规范