Qt视频播放器实现(目录)
RGB的使用场景
目前,数字信号源(直播现场的数字相机采集的原始画面)和显示设备(手机屏幕、笔记本屏幕、个人电脑显示器屏幕)使用的基本上都是RGB格式。
三原色
RGB是从颜色的原理来设计定的,它的颜色混合方式就如有红、绿、蓝三盏灯,当它们的光相互叠合的时候,色彩相混,亮度等于两者亮度之总和,即加法混合。
屏幕上的不同颜色,都由这红色,绿色,蓝色三种基本色光按照不同的比例(权重)混合而成的。
屏幕上的任何一个像素的颜色都可以由一组RGB值来记录和表达。
因此这红色绿色蓝色又称为三原色光,用英文表示就是R(red)、G(green)、B(blue)。
RGB表示颜色
RGB的所谓“多少”就是指亮度,并使用整数来表示。
在用8位(1字节)表示时,RGB每个分量有256级亮度,用数字量化表示为从0、1、2...直到255。注意:虽然数字最高是255,但0也是数值之一,因此共256级。
如下图表示RGB色彩空间从R,G,B三个维度看到的图像:
RGB文件(BMP)
当我们在键盘上按下 print screen 键,再打开Windows自带的画图软件,按Ctrl+V 粘贴的时候。我们得到的就是桌面的截图了。
可以看到画图下方显示的分辨率为你桌面的分辨率:比如,我的笔记本是 1920x1080
此时,另存为(不要直接保存)BMP文件:
另存为的时候选择 24位位图:RGB分量(每个分量8位,三个分量 24位)
此时,我们就得到了屏幕截图的RGB格式图片。
邮件图片属性,可以看到如下信息:
我的屏幕分辨率是 1920x1080, 每个像素 RGB 是 3个字节。
一共需要:1920x1080x3 = 6220800 字节
也就是:5.93 MB
细心的你会发现,文件大小比 6220800大了54个字节,文件大小为6220854。
这54字节是固定的,是BMP文件格式的头部。
RGB是我们后面经常会遇到的数据格式,BMP文件是我们处理这种格式的常见载体。
怎么样?有意思吧