OpenCV颜色空间如何用于基于颜色分割
Admin 2022-09-15 群英技术资讯 627 次浏览
在这篇文章中我们来了解一下“OpenCV颜色空间如何用于基于颜色分割”,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
在进行色彩分割时很多项目没有考虑到不同光照条件的影响,会严重影响结果。在许多计算机视觉应用中遇到这个问题,涉及基于颜色的分割,如肤色检测,交通灯识别等。所以构建一个强大的色彩检测系统是很有必要的。
文章结构如下:
1首何在OpenCV中读取图像并将其转换为不同的颜色空间,并查看每个颜色空间的不同通道为我们提供的新信息。
2应用一个简单的颜色分割算法。
在本节中,我们将介绍计算机视觉中使用的一些重要的色彩空间。我们不会描述它们背后的理论,我们只需要知道如何使用。
OpenCV颜色空间转换很简单,imread函数读取图像以BGR格式加载,cvtColor函数在不同的颜色空间之间进行转换。
下图是不同的照明下的立方体图像。第一张图像是在阳光明媚的室外条件下拍摄的,而第二张图像是在室内光线条件正常的情况下拍摄的。
RGB颜色空间具有以下属性: 1. 它是一种加色空间,其中颜色通过红色R,绿色G和蓝色B的线性组合获得。1. 物体光照会影响该颜色空间各个通道值,三个颜色通道是具有相关性的。 让我们将上面图像分成R,G和B分量并观察它们以更深入地了解色彩空间。
从下图可以看到如果你看蓝色通道,可以看到在室内光照条件下第二张图像中的魔方蓝色和白色部分看起来相似,但第一张图像有明显差异。这种不均匀性使得在该颜色空间中基于颜色的分割非常困难。此外,两个图像的值之间存在总体差异。因此RGB颜色空间存在颜色值分布不均匀以及色度和亮度混合在一起的问题。
类似RGB空间,Lab也有三个图像通道。
Lab颜色空间与RGB颜色空间完全不同。在RGB颜色空间中,颜色信息被分成三个通道,但是相同的三个通道也包含亮度信息。另一方面,在Lab颜色空间中,L通道独立于颜色信息并仅只含亮度信息。另外两个通道编码颜色。
Lab颜色空间还具有以下特性: 1. 感知上均匀的色彩空间近似于我们如何感知色彩。1. 独立于设备(捕获或显示)。1. 广泛用于Adobe Photoshop。1. 通过复数变换方程与RGB颜色空间相关。 OpenCV中读取图像,转换为Lab空间图像结果如下图所示:
YCrCb颜色空间源自RGB颜色空间,并具有以下三个成分。
此颜色空间具有以下属性。 1. 将亮度和色度分量分成不同的通道。1. 主要用于电视传输的压缩(Cr和Cb组件)。1. 取决于设备。 YCrCb颜色空间中分成其通道的两个图像如下所示:
对于照度变化,可以针对强度和颜色分量对LAB进行类似的观察。与LAB相比,室外图像中红色和橙色之间的感知差异较小。白色在所有3个组件中发生了变化。
HSV颜色空间具有以下三个成分:
H色调,S饱和度,V明度。
HSV最大的特点是它只使用一个通道来描述颜色(H),这使得指定颜色变得非常直观。但是HSV色彩取决于设备。
两个图像的H,S和V分量如下所示。
从下图可以看到
H分量在两个图像中非常相似,这表明即使在光照变化下颜色信息也是完整的。
两个图像中的S分量也非常相似。
V分量表示亮度,因此它会因照明变化而发生变化。
红色室外和室内图像的值之间存在巨大差异。这是因为H值是以角度表示红色表示起始角度。因此它可能会取角度 [300,360]和[0,60]之间的值。
现在我们已经了解了不同的颜色空间,让我们首先尝试使用它们来检测魔方中的绿色。
找到每个颜色空间的绿色值的近似范围。通过获取每个像素的所有颜色空间的值,如下所示:
该部分就不叙述了,详情见参考,实际用处不大。只是应用inRange函数选择合适的阈值分割图像而已。在实际中,通过颜色分割图像一般效果很差。建议不要使用,了解下就行了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
字符串截取,也叫字符串切片,使用方括号[ ]来截取字符串。字符串[开始索引:结束索引:步长];正索引代表从前往后索引,默认从0开始;负索引代表从后往前索引;字符串截取遵循“左闭右开”原则,也叫“包左不包右”。
网上看到过许多螺旋线的程序,但不是黑色就是单个颜色不变。这里作者编了一个程序,还很漂亮的。希望大家喜欢!!!使用turtle绘图。代码如下。(绘图窗口最大化更好)fromturtleimport
Python常用的魔法方法有几种?用法是什么?新手学习Python,可能对于算数运算符的魔法方法和反运算相关的魔法方法不是很了解,对此,下面小编就给大家介绍一下Python常用的魔法方法,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了Keras 修改图片通道顺序的操作方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
本文主要介绍了Python中typing模块的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008