• RGB格式


    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文件是我们处理这种格式的常见载体。

    怎么样?有意思吧

  • 相关阅读:
    Spring @Scheduled学习
    怎样做好影视作品字幕翻译?
    玫瑰图,使用半径不同的圆弧形状来表示数据大小
    Redis的基本操作
    多线程服务器适用场合
    Ajax--form表单与模板引擎--模板引擎的基本概念 - art-template模板引擎
    vue2 render属性调用createElement()方法插入多级元素举例
    LeetCode207.课程表
    【微信小程序】网络请求
    低代码如何改变IT行业小作坊生产模式
  • 原文地址:https://blog.csdn.net/ClamReason/article/details/133207259