RGB 是工业中常用的颜色空间,由三个通道表示一幅图像,分别为红色(R),绿色(G)和蓝色(B)。这三种颜色的不同组合可以形成几乎所有的其他颜色。常用的RGB色表(常识)
白色:rgb(255,255,255)
黑色:rgb(0,0,0)
红色:rgb(255,0,0)
绿色:rgb(0,255,0)
蓝色:rgb(0,0,255)
紫色:rgb(255,0,255)
使用RGB通道自然环境下获取的图像容易受自然光照、遮挡和阴影等情况的影响,即对亮度比较敏感。而 RGB 颜色空间的三个分量都与亮度密切相关,即只要亮度改变,三个分量都会随之相应地改变,而没有一种更直观的方式来表达。 所以,RGB 颜色空间适合于显示系统,却并不适合于图像处理。opencv读取图片默认是BGR格式,通道分割结果应该按照顺序用b,g,r去接受。RGB,BGR可以相互转换也可以使用HSV
HSV 颜色空间
在图像处理中使用较多的是 HSV 颜色空间,在 HSV 颜色空间下,比 BGR 更容易跟踪某种颜色的物体,常用于分割指定颜色的物体。
HSV 表达彩色图像的方式由三个部分组成:
- Hue(色调、色相)
- Saturation(饱和度、色彩纯净度)
- Value(明度)
观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。
H是度数,一个度数一个颜色,一共360度
S表示饱和度,同一度数下,S越小越接近白色,S越大则该颜色越深
V明度,V越大颜色越亮反之越暗
例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到浅蓝色,V=1 S=0.4 H=240度。
RGB颜色空间更加面向于工业,而HSV更加面向于用户,大多数做图像识别这一块的都会运用HSV颜色空间,因为HSV颜色空间表达起来更加直观,HSV与RGB也可相互转换
LAB颜色空间
同RGB颜色空间相比,Lab是一种不常用的色彩空间。但是在使用openMV时,它是常用的颜色空间