cv基础组队学习
发布日期:2021-06-29 02:31:40 浏览次数:2 分类:技术文章

本文共 1935 字,大约阅读时间需要 6 分钟。

计算机视觉基础:图像处理(上)

Task03 彩色空间互转

1 简介

图像彩色空间互转在图像处理中应用非常广泛,而且很多算法只对灰度图有效;另外,相比RGB,其他颜色空间(比如HSV、HSI)更具可分离性和可操作性,所以很多图像算法需要将图像从RGB转为其他颜色空间,所以图像彩色互转是十分重要和关键的

2学习目标

  • 了解相关颜色空间的基础知识
  • 理解彩色空间互转的理论
  • 掌握OpenCV框架下颜色空间互转API的使用

3内容介绍

1.相关颜色空间的原理介绍

2.颜色空间互转理论的介绍

3.OpenCV代码实践

4.动手实践

4算法理论介绍

4.1 RGB与灰度图互转

RGB颜色空间以R(Red:红)、G(Green:绿)、B(Blue:蓝)三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,所以俗称三基色模式。电视机、电脑的显示器等大部分都是采用这种模型。自然界中的任何一种颜色都可以由红、绿、蓝三种色光混合而成,现实生活中人们见到的颜色大多是混合而成的色彩。

RGB颜色空间是用一个单位长度的立方体来表示颜色的,黑蓝绿青红紫黄白8种常见颜色分别位居立方体的8个顶点,通常将黑色置于三维直角坐标系的原点,红绿蓝分别置于3根坐标轴土,整个立方体放在第1卦限内。如下图所示。而其中的青色与红色、紫色与绿色、黄色与蓝色是互补色。各参数的取值范围是:R:0-255;G:0-255;B:0-255。参数值也称为三色系数或基色系数或颜色值,除以255后归一到0-1之间,但不是无穷多个而是有限多个值。由于每个灰度级都定为256,所以,红绿蓝分量全部组合起来共可表示256256256=16777216种不同的颜色。它比人眼能分辨的颜色种数多得多。因此,虽然自然界中的颜色非常多,但用RGB颜色空间来近似表达自然界中的颜色是完全够用了.
在这里插入图片描述
RGB使用红、绿、蓝三原色的亮度来定量表示颜色,能清楚知道三原色的比例,但是并不直观,很难想象看见这三原色的比例能直接知道色彩到底是什么样的。科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。它将色调,亮度,饱和度三个量放在一起表示,很难分开。

对于彩色图转灰度图,有一个很著名的心理学公式:

Gray = R * 0.299 + G * 0.587 + B * 0.114

原图:

在这里插入图片描述
转为灰度图:

img = cv2.imread('yuanjieshen1.jpg')gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)cv2.imshow("hudutu", gray_img)cv2.waitKey()

在这里插入图片描述

4.2 RGB与HSV互转

HSV是一种将RGB色彩空间中的点在倒圆锥体中的表示方法。HSV即色相(Hue)、饱和度(Saturation)、明度(Value),又称HSB(B即Brightness)。色相是色彩的基本属性,就是平常说的颜色的名称,如红色、黄色等。饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。明度(V),取0-max(计算机中HSV取值范围和存储的长度有关)。HSV颜色空间可以用一个圆锥空间模型来描述。圆锥的顶点处,V=0,H和S无定义,代表黑色。圆锥的顶面中心处V=max,S=0,H无定义,代表白色。

RGB颜色空间中,三种颜色分量的取值与所生成的颜色之间的联系并不直观。而HSV颜色空间,更类似于人类感觉颜色的方式,封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?

在这里插入图片描述
这个模型就是按色彩、深浅、明暗来描述的。

H是色彩;

S是深浅, S = 0时,只有灰度;

V是明暗,表示色彩的明亮程度,但与光强无直接联系。

应用:可以用于偏光矫正、去除阴影、图像分割等,下面贴出一张HSV颜色空间图:
在这里插入图片描述
效果图:

hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)cv2.imshow("hsv", hsv_img)cv2.waitKey()

在这里插入图片描述

记录函数原型

void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0)

src: 输入图像

dst: 输出图像
code: 颜色空间转换标识符
OpenCV2的CV_前缀宏命名规范被OpenCV3中的COLOR_式的宏命名前缀取代
注意RGB色彩空间默认通道顺序为BGR
具体可以参考: enum cv::ColorConversionCode部分
dstCn: 目标图像的通道数,该参数为0时,目标图像根据源图像的通道数和具体操作自动决定

转载地址:https://blog.csdn.net/YYYYYJY/article/details/105752616 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:cv基础组队学习
下一篇:cv基础组队学习

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月09日 14时33分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章