OpenCV颜色空间如何用于基于颜色分割
Admin 2022-09-15 群英技术资讯 420 次浏览
在这篇文章中我们来了解一下“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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
如果想要得心应手的去使用python语言,那么对于python的字符串大小一定要认真了解,下面给大家整理关于python字符串大小用法和示例,便于大家理解!
Python文件路径乱码的解决方法是怎么,代码怎么写
这篇文章主要介绍了利用Python编写一个经典小游戏的合集,包括:贪吃蛇,扫雷,俄罗斯方块,五子棋。感兴趣的小伙伴可以跟随小编一起学习一下
GFPGAN是腾讯开源的人脸修复算法,它利用预先训练好的面部 GAN(如 StyleGAN2)中封装的丰富和多样的先验因素进行盲脸 (blind face)修复。这篇文章主要为大家介绍通过GFPGAN实现模糊照片人脸恢复清晰,需要的朋友可以参考一下
这篇文章主要为大家详细介绍了用python实现五子棋实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008