0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CV学习中的ROI与泛洪填充

深度学习自然语言处理 来源:深度学习自然语言处理 作者:云时之间 2020-11-05 09:19 次阅读

一:ROI

ROI(region of interest),中文翻译过来就是感兴趣区域,在机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,这一部分区域被我们称之为感兴趣区域。

ROI选定的这个区域一般是我们所关注的重点,圈定该区域后我们可以进行进一步的处理,在一定程度上可以减少工作量。

ROI主要应用在视频监控领域,最常见的为ROI智能视频编码技术,具有ROI功能的摄像机可以让用户选择画面中感兴趣的区域,启用ROI功能后,重要的或者移动的区域将会进行高质量无损编码, 而对那些不移动,不被选择的区域降低其码率和图像质量,进行标准清晰度视频压缩,甚至是不传输这部分区域视频,达到节省网络带宽占用和视频存储空间。

现在我们使用OpenCV来进行实操:

在代码中,我们选择 选择50:180行、100:220列区域作为截取对象,首先先生成灰度图,这里的灰度图是单通道图像,后续将单通道图像转换为三通道RGB灰度图,因为只有三通道的backface才可以赋给三通道的src,有一点需要注意,COLOR_RGB2GRAY是把三通道RGB对象转换为单通道灰度对象!!!

得到结果如下:

可以看到Windows的logo被灰色圈出,这一个logo可以被称之为我们的ROI区域。

二:泛洪填充

泛洪填充算法(Flood Fill Algorithm),泛洪填充算法又称洪水填充算法,这是在很多图形绘制软件中常用的填充算法,最熟悉不过就是windows paint的油漆桶功能。算法的原理很简单,就是从一个点开始附近像素点,填充成新的颜色,直到封闭区域内的所有像素点都被填充新颜色为止。泛红填充实现最常见有四邻域像素填充法,八邻域像素填充法,基于扫描线的像素填充方法。根据实现又可以分为递归与非递归(基于栈)。

我们可以理解为泛洪填充是一种彩色图像填充。

①:FLOODFILL_FIXED_RANGE – 改变图像,泛洪填充

代码如下:

在代码里,有几个点需要注意

1:我们设置的图片(mask)都是为uin8类型的单通道阵列,另外为何mask中需要+2,因为当从0行0列开始泛洪填充扫描时,mask多出来的2可以保证扫描的边界上的像素都会被处理。

2:floodFill函数 floodFill(image, mask, seedPoint, newVal[, loDiff[, upDiff[, flags]]])

Image:表示输入/输出1或3通道,8位或浮点图像。

Mask:表示掩码,该掩码是单通道8位图像,比image的高度多2个像素,宽度多2个像素。填充时不能穿过输入掩码中的非零像素。

seedPoint:表示泛洪算法(漫水填充算法)的起始点。

newVal参数表示在重绘区域像素的新值。

loDiff参数表示当前观察像素值与其部件邻域像素值或待加入该组件的种子像素之间的亮度或颜色之负差的最大值。

upDiff参数表示当前观察像素值与其部件邻域像素值或待加入该组件的种子像素之间的亮度或颜色之正差的最大值。

flags参数:操作标志符,包含三部分:

低八位(0~7位):用于控制算法的连通性,可取4(默认)或8。

中间八位(8~15位):用于指定掩码图像的值,但是如果中间八位为0则掩码用1来填充。

高八位(16~32位):可以为0或者如下两种标志符的组合:

LOODFILL_FIXED_RANGE:表示此标志会考虑当前像素与种子像素之间的差,否则就考虑当前像素与相邻像素的差。

FLOODFILL_MASK_ONLY:表示函数不会去填充改变原始图像,而是去填充掩码图像mask,mask指定的位置为零时才填充,不为零不填充。

在图像中,我们以(30,30)为起点开始计算:

得到结果如下:

参考文章:

https://www.cnblogs.com/little-monkey/p/7598529.html

责任编辑:xj

原文标题:【CV学习笔记】ROI与泛洪填充

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    27

    文章

    1306

    浏览量

    56939
  • 机器视觉
    +关注

    关注

    162

    文章

    4417

    浏览量

    120853
  • CV
    CV
    +关注

    关注

    0

    文章

    53

    浏览量

    16916

原文标题:【CV学习笔记】ROI与泛洪填充

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    先进封装Underfill工艺的四种常用的填充胶CUF,NUF,WLUF和MUF介绍

    今天我们再详细看看Underfill工艺中所用到的四种填充胶:CUF,NUF,WLUF和MUF。 倒装芯片的底部填充工艺一般分为三种:毛细填充(流动型)、无流动填充和模压
    的头像 发表于 01-28 15:41 226次阅读
    先进封装Underfill工艺<b class='flag-5'>中</b>的四种常用的<b class='flag-5'>填充</b>胶CUF,NUF,WLUF和MUF介绍

    沟槽结构碳化硅的外延填充方法

    一、引言 沟槽结构碳化硅的外延填充方法是指通过在碳化硅衬底上形成的沟槽内填充高质量的外延层,以实现器件的电学和热学性能要求。这一过程,不仅要保证外延层的填充率,还要避免空洞和缺陷的产
    的头像 发表于 12-30 15:11 305次阅读
    沟槽结构碳化硅的外延<b class='flag-5'>填充</b>方法

    芯片底部填充胶种类有哪些?

    芯片底部填充胶种类有哪些?底部填充胶(Underfill)又称底部填充剂,指以高分子材料为原材料制成的电子封装胶,主要用于在芯片和基板之间的空隙
    的头像 发表于 12-27 09:16 447次阅读
    芯片底部<b class='flag-5'>填充</b>胶种类有哪些?

    PCB设计填充铜和网格铜有什么区别?

    填充铜(SolidCopper)和网格铜(HatchedCopper)是PCB设计两种不同的铺铜方式,它们在电气性能、热管理、加工工艺和成本方面存在一些区别:1.电气性能:填充铜:提供连续的导电层
    的头像 发表于 12-10 16:45 101次阅读
    PCB设计<b class='flag-5'>中</b><b class='flag-5'>填充</b>铜和网格铜有什么区别?

    PCB设计填充铜和网格铜有什么区别?

    填充铜(SolidCopper)和网格铜(HatchedCopper)是PCB设计两种不同的铺铜方式,它们在电气性能、热管理、加工工艺和成本方面存在一些区别:1.电气性能:填充铜:提供连续的导电层
    的头像 发表于 12-10 11:18 80次阅读
    PCB设计<b class='flag-5'>中</b><b class='flag-5'>填充</b>铜和网格铜有什么区别?

    为什么有的ADC采集板PCB设计TOP层和BOTTOM层要填充GND网络铜皮,而有的就不用填充

    你好, 请问为什么有的ADC采集板PCB设计TOP层和BOTTOM层要填充GND网络铜皮,而有的就不用填充。 请问有没有关于此方面的设计案例和参考资料
    发表于 11-18 06:26

    底部填充工艺在倒装芯片上的应用

    底部填充工艺在倒装芯片(FlipChip)上的应用是一种重要的封装技术,旨在提高封装的可靠性和延长电子产品的使用寿命。以下是该工艺的主要应用和优势:增强可靠性:倒装芯片封装的焊点(常为金锡合金或铅
    的头像 发表于 07-19 11:16 838次阅读
    底部<b class='flag-5'>填充</b>工艺在倒装芯片上的应用

    机器学习的数据分割方法

    在机器学习,数据分割是一项至关重要的任务,它直接影响到模型的训练效果、化能力以及最终的性能评估。本文将从多个方面详细探讨机器学习数据分
    的头像 发表于 07-10 16:10 2211次阅读

    如何理解机器学习的训练集、验证集和测试集

    理解机器学习的训练集、验证集和测试集,是掌握机器学习核心概念和流程的重要一步。这三者不仅构成了模型学习与评估的基础框架,还直接关系到模型性能的可靠性和
    的头像 发表于 07-10 15:45 4768次阅读

    机器学习的数据预处理与特征工程

    在机器学习的整个流程,数据预处理与特征工程是两个至关重要的步骤。它们直接决定了模型的输入质量,进而影响模型的训练效果和化能力。本文将从数据预处理和特征工程的基本概念出发,详细探讨这两个步骤的具体内容、方法及其在机器
    的头像 发表于 07-09 15:57 633次阅读

    等离子清洗及点胶轨迹对底部填充胶流动性的影响

    共读好书 翟培卓,根深,王印权,李守委,陈鹏,邵文韬,柏鑫鑫 (中国电子科技集团公司第五十八研究所) 摘要: 倒装焊封装过程,底部填充胶的流动性决定了填充效率,进而影响生产效率及成
    的头像 发表于 06-17 08:44 477次阅读
    等离子清洗及点胶轨迹对底部<b class='flag-5'>填充</b>胶流动性的影响

    鸿蒙语言TypeScript学习第18天:【型】

    型(Generics)是一种编程语言特性,允许在定义函数、类、接口等时使用占位符来表示类型,而不是具体的类型。
    的头像 发表于 04-16 14:56 435次阅读
    鸿蒙语言TypeScript<b class='flag-5'>学习</b>第18天:【<b class='flag-5'>泛</b>型】

    底部填充胶在汽车电子领域的应用有哪些?

    底部填充胶在汽车电子领域的应用有哪些?在汽车电子领域,底部填充胶被广泛应用于IC封装等,以实现小型化、高聚集化方向发展。底部填充胶在汽车电子领域有多种应用,包括以下方面:传感器和执行器的封装:汽车
    的头像 发表于 03-26 15:30 1143次阅读
    底部<b class='flag-5'>填充</b>胶在汽车电子领域的应用有哪些?

    什么是芯片底部填充胶,它有什么特点?

    什么是芯片底部填充胶,它有什么特点?芯片底部填充胶是一种用于电子封装的胶水,主要用于底部填充bga芯片电子组件,以增强组件的可靠性和稳定性。它通常是一种环氧树脂,具有良好的粘接性和耐热性。底部
    的头像 发表于 03-14 14:10 1177次阅读
    什么是芯片底部<b class='flag-5'>填充</b>胶,它有什么特点?

    以太网存储网络的拥塞管理连载案例(七)

    学习连接到远程 VTEP 的设备的 MAC 地址有两种常见方法。第一种方法使用基于组播的学习机制。
    的头像 发表于 03-08 09:29 947次阅读
    以太网存储网络的拥塞管理连载案例(七)