zoukankan      html  css  js  c++  java
  • 图像格式介绍

    YUV

    YUV是一种颜色编码方法。

    YUV 是编译 true-color 颜色空间(color space)的种类,Y'UV, YUV, YCbCr,YPbPr 等专有名词都可以称为YUV,彼此有重叠。“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominance、Chroma),Y'UV, YUV, YCbCr, YPbPr 常常有些混用的情况,其中YUV 和 Y'UV 通常用来描述模拟信号,而相反的 YCbCr 与 YPbPr 则是用来描述数位的影像信号,例如在一些压缩格式内 MPEG、JPEG中,但在现今,YUV 通常已经在电脑系统上广泛使用。YUV Formats 分成两个格式:

    紧缩格式(packed formats):将Y、U、V值存储成Macro Pixels阵列,和RGB存放方式类似。

    平面格式(planar formats):将Y、U、V的三个分量分别存放在不同的矩阵中。

    紧缩格式(packed format)中的YUV是混合在一起的,对于YUV 4:4:4格式而言,用紧缩格式很合适,因此就有了UYVY、YUYV等。平面格式(plannar)是指每Y分量,U分量,和V分量都是以独立的平面组织的,也就是说所有的U分量必须在Y分量后面,而V分量在所有U分量后面。此一格式使用与采样(subsample)。平面格式(plannar format)有I420(4:2:0)、YV12、IYUV等。

    常见的YUV格式:

    为节省带宽起见,大多数 YUV 格式平均使用的每像素位数都少于24位元。主要的抽样(subsample)格式有 YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。YUV 的表示法称为 A:B:C 表示法:

    • 4:4:4表示完全取样。
    • 4:2:2表示2:1的水平取样,垂直完全采样。
    • 4:2:0表示2:1的水平取样,垂直2:1采样。
    • 4:1:1表示4:1的水平取样,垂直完全采样。

    RGB介绍:

    光的三原色是红色、绿色和蓝色,三种光相加会成为白色光。这是由于人类有三种视锥细胞分别对红、绿和蓝光最敏感。 三原色光和绘画中的“三原色”不同。绘画时用三种颜色洋红色、黄色和青色以不同的比例配合,会产生许多种颜色。如果三种色料相加,理论上会成为黑色,但实际上是深灰色,因此需要独立的黑色颜料。三色颜料加上黑色 (K) 便是“ CMYK 色彩空间”。

    • 24比特模式 每像素24位(bits per pixel,bpp)编码的RGB值:使用三个8位无符号整数(0到255)表示红色、绿色和蓝色的强度。这是当前主流的标准表示方法,用于真彩色和JPEG或者TIFF等图像文件格式里的通用颜色交换。它可以产生一千六百万种颜色组合,对人类的眼睛来说,其中有许多颜色已经是无法确切的分辨。
    • 16比特模式 16比特模式分配给每种原色各为5比特,其中绿色为6比特,因为人眼对绿色分辨的色调更精确。但某些情况下每种原色各占5比特,余下的1比特不使用。
    • 32比特模式 实际就是24比特模式,余下的8比特不分配到象素中,这种模式是为了提高数据输送的速度(32比特为一个DWORD,DWORD全称为Double Word,一般而言一个Word为16比特或2个字节,处理器可直接对其运算而不需额外的转换)。同样在一些特殊情况下,如DirectX、OpenGL等环境,余下的8比特用来表示象素的透明度(Alpha)。
  • 相关阅读:
    Elasticsearch的介绍与安装配置启动问题
    代码发布项目
    gitpython模块
    Paramiko模块
    gojs插件的介绍与使用
    django中如何实现websocket,真正通过websocket实现群聊功能
    如何实现服务端主动给客户端推送消息,websocket详解,以及django如何使用websocket问题
    简单爬取汽车之家新闻(requests模块+bs4)
    http协议版本,响应状态码,正反向代理的区别,与伪静态
    web开发经验——富头像上传编辑器的使用
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11732520.html
Copyright © 2011-2022 走看看