像素格式概念

像素格式指的是图像的具体像素用什么所表示。指的是原始数据或者解码之后的数据。

常见像素格式RGB

RGB色彩模式是工业界的一种颜色标准,是通过对红、绿、蓝三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。而我们显示器能够直接显示的格式就是RGB格式

RGB常见的几种格式区别
RGB16格式

RGB16主要数据格式有RGB556、RGB555
RGB556 每个像素用16位表示,其中R\G\B分别使用5、6、5
RGB555 每个像素用16位表示,其中R\G\B分别使用5、5、5位表示其中多余的一位不使用

//获取高字节的5个bit
R = color & 0xF800;
//获取中间6个bit
G = color & 0x07E0;
//获取低字节5个bit
B = color & 0x001F;

//获取高字节的5个bit
R = color & 0x7C00;
//获取中间5个bit
G = color & 0x03E0;
//获取低字节5个bit
B = color & 0x001F;
RGB24像素格式

RGB24图像,每个颜色用8BIT表示,其中RGB24在内存中排列为BGR\BGR\BGR
其中RGB24是最常用的RGB像素格式

RGB32像素格式

RGB32图像每个像素用32BIT表示,占4个字节,R,G,B分量分别用8个bit表示,存储顺序为B,G,R,最后8个字节保留。注意:在内存中RGB各分量的排列顺序为:BGRA BGRA BGRA …

ARGB32(其中多余的8Bit来表示透明度)


取得各个像素点

R = color & 0x0000FF00;
G = color & 0x00FF0000;
B = color & 0xFF000000;
A = color & 0x000000FF;

常见像素格式YUV

YUV格式简介:

YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

与我们熟知的RGB类似,YUV也是一种颜色编码方法,主要用于电视系统以及模拟视频领域,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。

YUV存储方式

YUV存储方式有两大类:planar和packed。
对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。(如YUV420P)
对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。

列如:YUV420与YUV420P,P表示平面存储方法,即先把所以Y存储,再存储U\V。

YUV几种常见采样格式

YUV444

类似与RGB一样的概念,一个像素由一个Y(亮度信息)和一个UV(色度信息)(一般UV成套出现)来表示. 一个像素大小如果为8BIT则为3个字节

YUV422

第一个Y对应一个UV,而第二个Y则与前一个Y的UV对应。即每两个亮度信息共用一个色度信息

YUV420

每4个(不是连续的4个)上下2 * 2 的Y共用一个UV,就每4个亮度信息对应一个色度。且使用X264编码成H264必须为YUV420格式

音视频开发基础知识(一)像素格式相关推荐

  1. 音视频开发基础知识到进阶剖析

    全网最强音视频开发教学--音视频开发基础知识到进阶剖析 1.要掌握多深的原理才能开始做项目 2.音视频基础有哪些必须掌握的 3.进阶需要学习什么项目 视频讲解如下,点击观看: 全网最强音视频开发--音 ...

  2. 音视频开发基础知识(转载)

    音视频入门前,需要了解下一些基础概念,不必死记硬背,可之后再补再翻阅. 一. 颜色模式 RGB RGB颜色模型的主要目的是在电子系统中检测,表示和显示图像,比如电视和计算机,但是在传统摄影中也有应用. ...

  3. 音视频开发基础知识(2)——最通俗易懂的视频编解码理论知识

    更多音视频知识请关注公众号:进击的代码家 音视频学习项目:LearnVideo AndroidMediaCodecDemo 视频基础概念 像素 **像素是图像的基本单元,一个个像素就组成了图像.你可以 ...

  4. Android音视频开发基础(六):学习MediaCodec API,完成视频H.264的解码

    前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了<Android 音视频从入门到提高 - 任务列表>.本文是Android音视 ...

  5. Android音视频开发基础(七):视频采集-系统API基础

    前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了<Android 音视频从入门到提高 - 任务列表>.本文是Android音视 ...

  6. 音视频处理基础知识扫盲:数字视频YUV像素表示法以及视频帧和编解码概念介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...

  7. 分享即时通讯开发之实时音视频技术基础知识

    随着移动网络速度越来越快.质量越来越来,实时音视频技术已经在各种应用场景下全面开花,语音通话.视频通话.视频会议.远程白板.远程监控等等.实时音视频技术的开发也越来越受到重视,但是由于音视频开发涉及知 ...

  8. 5G时代来临,前端开发工程师必须了解的音视频入门基础知识

    1. 音视频基础 本文将给大家进行音视频基础的常规知识点的梳理.当然,短短的一篇文章并不能让大家立即变成音视频领域的专家,但这些知识点已经基本涵盖了音视频的入门知识.我们将按照下面的内容给大家 音视频 ...

  9. C++音视频开发核心知识,小白入门必看基础知识

    经常收到一些网友的来信或者留言,反馈如下这样的困惑: "我是一名应届毕业生,该如何快速地成长起来" "我只懂 C/C++,是学 Android 开发有前途,还是 iOS ...

最新文章

  1. Android游戏框架之基础之AA碰撞系统
  2. iOS逆向之iOSOpenDev
  3. R语言数据可视化 ggplot2基础3 添加几何对象
  4. input按钮中的onclick事件
  5. java链表需要自己编写么_基于java的链表基础操作
  6. 2020年中国工业品B2B行业研究报告
  7. ubuntu16.04安装java环境
  8. 你了解SVN, CVS等版本控制器吗?
  9. [多图]Maclean的巴厘岛游记
  10. 【转】推荐下载使用:功能强大的光盘刻录软件NERO 9.0中文版(最新官方原版+有效序列号)...
  11. java 工作流开发框架比较
  12. 您有新的订单提示音在线试听_告别千篇一律的微信提示音
  13. 计算机系统变更注意事项,电脑更换cpu注意事项
  14. 网页缩放,页面展示比例不变
  15. 「C语言进阶」数据内存的存储
  16. conda/pip安装pytorch各种版本的超详细的教程
  17. 最后的巫师猎人 高清BT种子迅雷下载
  18. (开源)ESP8266改装小风扇,手机app远程控制+天猫精灵控制
  19. 无线设备的破解和安全(破解篇)
  20. android蓝牙无法输入密码,由于加密问题,Android蓝牙文件无法写入描述符

热门文章

  1. 5分钟,使用STM32CubeMX把你的单片机变成优盘
  2. 【理论篇】是时候彻底弄懂BERT模型了(收藏)
  3. c语言双重for循环流程图_第九章、C语言循环之for
  4. 对话ChatGPT:嵌入式软件测试路在何方
  5. php整形函数,php取整函数_PHP 取整函数参考
  6. *.sdf和ipch文件
  7. Python处理字符串数据将其转化为整型数据
  8. centos7 tftp server安装配置 (fileZilla工具下载)
  9. 归并排序 C语言实现
  10. QListWidget