计算机视觉_OpenCV开源库讲解(色彩空间简介以及相互转换)

一,色彩空间简介

1,BGR

B:blue;
G:Green;
R:red;
BGR三个通道的取值范围(0~255);

在人们的常识中,一般叫BGR为RGB,但是在OpenCV以及Caffe框架中称为BGR,
在这里插入图片描述
在一般的机器视觉中,很多时候在BGR下面处理图像。

2,HSV

色调——表示主色:绿色,黄色,红色。
用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;

饱和度——表示颜色的鲜艳程度

饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。

明度——表示某种颜色的光亮程度

对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。
在这里插入图片描述
HSV的取值范围:
在这里插入图片描述
OpenCV中的 H分量是 0~180, S分量是0~255, V分量是0255,但是HSV颜色空间却规定的是,H范围0360,S范围01,V范围01,所以你需要自己转换一下,H*2,V/255,S/255。
H分量是0-360度,所以在OpenCV中被除以2处理。以匹配UCHAR 255的上限。

在根据颜色分割图像的时候,往往用HSV颜色空间来处理图像;

二,cvtColor();

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

参数详解:
1,src;为输入图像;
2,dst;为输出图像;
3,code;为转换的代码或标识,如COLOR_BGR2GRAY,COLOR_BGR2HSV等;
4,dstCn;为目标图像通道数,如果取值为0,则由src和code决定;

函数的作用是将一个图像从一个颜色空间转换到另一个颜色空间,但是从RGB向其他类型转换时,必须明确指出图像的颜色通道,前面我们也提到过,在opencv中,其默认的颜色制式排列是BGR而非RGB。所以对于24位颜色图像来说,前8-bit是蓝色,中间8-bit是绿色,最后8-bit是红色。常见的R,G,B通道的取值范围为:
. 0-255 :CV_8U类型图片
. 0-65535: CV_16U类型图片
. 0-1: CV_32F类型图片

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值