计算机读取颜色及opencv的图像色彩模式

计算机中图片颜色通道一般采用RGB进行排列,opencv在读取图片时,按BGR读取.如果想使用RGB顺序的影像数据,需要进行转换。

cvtColor(src, g_src1, COLOR_BGR2RGB);

一.opencv色彩模式

opencv色彩模式有:位图模式、灰度模式、RGB模式、CMYK模式、HSV模式

1.位图模式(单通道)

        位图模式是图像中只有黑色和白色像素,是色彩模式中占有空间最小的,同样也叫做黑白图,它包含的信息量最少,无法包含图像中的细节,相当于只有0或者1。一副彩色图如果要转换成黑白模式,则一般不能直接转换,需要首先将图像转换成灰度模式。

2.灰度模式(单通道)

         灰度模式使用单一色调来表示图像,与位图模式不同,不像位图只有0和1,使用256级的灰度来表示图像,一个像素相当于占用8位一个字节,每个像素值使用0到255的亮度值代表,其中0为黑色,255为白色,相当于从黑->灰->白的过度,通常我们所说的黑白照片就是这种模式。

3.RGB模式(三通道)

        RGB模式为我们经常见到的,被称为真色彩。分布为红(Red),绿(Green)和蓝(Bule),每个都占用8位一个字节来表示颜色信息,这样每个颜色的取值范围为0~255,那么就三种颜色就可以有多种组合,当三种基色的值相等是,表现出为灰色,三种颜色都为255即为白色,三种颜色都为0,即为黑色

4.CMYK模式(三通道)

        CMYK模式被称为印刷色彩模式,主要是来源于印刷行业,以打印油墨在纸张上的光线吸收特性为基础,与RGB类似,也是使用三种颜色,分别为青色(Cyan),品红色(Magenta),黄色(Yellow),与RGB不同的是:RGB模式依靠的是自身发光的色彩模式,而CMYK是一种依靠反光的色彩模式。

5.HSV模式

        是根据日常生活中人眼的视觉对色彩的观察得而制定的一套色彩模式,最接近与人类对色彩的辨认的思考方式,所有的颜色都是用色彩三属性来描述

H:(色相):是指从物体反射或透过物体传播的颜色  (范围:0~180)

S:(饱和度):是指颜色的强度或纯度,表示色相中灰色成分所占的比例  (范围0~255)

V:(亮度):是指颜色对相对明暗程度,通常 100%定义为白色;0%为黑色  (范围0~255)

二.单通道与三通道区别

单通道:此通道上值为0-255。 (255为白色,0是黑色) 只能表示灰度,不能表示彩色。

三通道:在BGR (255,255,255为白色, 0,0,0是黑色 )  可以表示彩色, 灰度也是彩色的一种。

screen图片是一张彩色图:  

cv::Mat mat = cv::imread("/root/Desktop/photos/screen.png");

mat是三通道的,mat可以表示彩色。

screen图片是一张彩色图:    

cv::Mat mat = cv::imread("/root/Desktop/photos/screen.png",CV_LOAD_IMAGE_GRAYSCALE);

mat是单通道的,mat只能表示灰色。

screen图片是一张灰色图:  

cv::Mat mat=cv::imread("/root/Desktop/photos/screen.png",CV_LOAD_IMAGE_GRAYSCALE);  

mat是单通道,mat只能表示灰色。

screen图片是一张灰色图:  

cv::Mat mat = cv::imread("/root/Desktop/photos/screen.png");

mat是三通道,mat可以表示彩色。虽然图片显示出来是灰色,但是也是由BGR表示出来的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值