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

    文章

    1274

    浏览量

    56553
  • 机器视觉
    +关注

    关注

    161

    文章

    4317

    浏览量

    119959
  • CV
    CV
    +关注

    关注

    0

    文章

    52

    浏览量

    16837

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

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

收藏 人收藏

    评论

    相关推荐

    芯片封装底部填充材料如何选择?

    芯片封装底部填充材料如何选择?芯片封装底部填充材料的选择是一个复杂而关键的过程,它直接影响到芯片封装的可靠性和性能。底部填充材料(Underfill)的主要功能是在芯片与基板之间提供额外的机械支撑
    的头像 发表于 08-29 14:58 334次阅读
    芯片封装底部<b class='flag-5'>填充</b>材料如何选择?

    芯片底部填充工艺流程有哪些?

    芯片底部填充工艺流程有哪些?底部填充工艺(Underfill)是一种在电子封装过程中广泛使用的技术,主要用于增强倒装芯片(FlipChip)、球栅阵列(BGA)、芯片级封装(CSP)等高级封装技术
    的头像 发表于 08-09 08:36 1576次阅读
    芯片底部<b class='flag-5'>填充</b>工艺流程有哪些?

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

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

    机器学习的数据分割方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    填充胶是做什么用的?

    填充胶是做什么用的?填充胶是一种广泛应用于电子制造和其他工业领域的材料,它在提高产品性能、增强结构稳定性以及保护核心组件方面发挥着至关重要的作用。以下是关于填充胶的主要用途和它在不同应用
    的头像 发表于 01-17 14:52 898次阅读
    <b class='flag-5'>填充</b>胶是做什么用的?

    填充宽度对于精确的焊盘填充过大的影响

    填充宽度是指在焊接过程,焊盘与焊芯之间的间隔。填充宽度的大小直接影响到焊接质量、焊接强度和焊接过程的稳定性等方面。填充宽度过大可能会导致诸多问题,本文将从焊接质量、焊接强度和焊接过程
    的头像 发表于 12-26 17:15 3738次阅读

    波峰焊接通孔填充不良问题研究

    欢迎了解 高强(车青岛四方车辆研究所有限公司) 摘要: 通孔填充不良一直是 PCB 焊接的难题,在波峰焊、回流焊、选择性波峰焊工艺中都存在,通孔填充不良会降低焊点机械强度,影响导电性能,填充
    的头像 发表于 12-14 16:59 1037次阅读
    波峰焊接通孔<b class='flag-5'>填充</b>不良问题研究

    互连/接触/通孔/填充分别代表了什么

    在芯片制程,互连、接触、通孔和填充是常见术语,这四个术语代表了金属化不同的连接方式。那么互连、接触、通孔和填充塞分别代表了什么?有什么作用呢?
    发表于 11-06 15:19 1888次阅读
    互连/接触/通孔/<b class='flag-5'>填充</b>分别代表了什么