音视频-图像篇(YUV和RGB)

ops/2024/10/19 2:58:44/

文章目录

  • 一、图像基础概念
  • 二、YUV与RGB
    • 1.YUV分类方式
    • 2.YUV“空间-间”的数据划分
      • 1)UV按照“空间-间”的划分方式,分为YUV444、YUV422、YUV420
      • 2)YUV“空间-内”的数据划分
    • 3.RGB
  • 三、比较JPG、PNG、GIF、BMP图片格式


一、图像基础概念

  • 像素:
    像素是一个图片的基本单位,pix是英语单词picture的简写,加上英语单词“元素element”,就得到了“pixel”,简称px,所以“像素”有“图像元素”之意。
  • 分辨率:
    是指图像的大小或尺寸。比如1920x1080。
  • 位深:
    是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的位深来表示的。比如红色分量用8bit。
  • 帧率:
    在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次。比如25fps表示一秒有25张图片。
  • 码率:
    视频文件在单位时间内使用的数据流量。比如1Mbps。

二、YUV与RGB

YUV,RGB,包括YcbCr是色彩空间的模型,而平常所说的BMP、PNG、JPEG是文件的存储形式。而YUV是音视频(编解码)最常用的格式。

1.YUV分类方式

YUV有两种分类方式,即“空间-间”和“空间-内”。“空间-间”的划分方式主要体现在Y、U、V的比例不同,存储格式相同;“空间-内”的划分方式主要体现在Y、U、V的比例一定,存储格式不同。

2.YUV“空间-间”的数据划分

1)UV按照“空间-间”的划分方式,分为YUV444、YUV422、YUV420

下图中黑点表示采样像素点Y分量,空心圆表示采样像素点的UV分量。主要分为 YUV 4:4:4、YUV 4:2:2、YUV 4:2:0 这几种常用的类型。
在这里插入图片描述

2)YUV“空间-内”的数据划分

YUV按照“空间-内”的划分方式,主要分为packet、planar、semi-planar三种:

◆ packet:打包格式,即先存储一个yuv,再存储下一个yuv;

◆ planar:平面格式,即先存储y平面,再存储u平面,再存储v平面;

◆ semi-planar:先存储y平面,再存储uv平面;

YUV420sp
YUV420p属于平面存储,YUV分量占比为4:1:1,即每4个Y共享一组UV。先是Y分量,然后是U分量,最后是V分量。排列如下图所示:
在这里插入图片描述
YUV420sp
YUV420sp属于交错存储,YUV分量占比为4:1:1,即每4个Y共享一组UV。先是Y分量,然后是UV分量交错存储。排列如下图所示:在这里插入图片描述
◆ YUV422各种存储格式如下:
在这里插入图片描述
◆ YUV420各种存储格式如下:在这里插入图片描述

3.RGB

RGB是一种图像存储格式,也是三原色,取值范围[0, 255]。R代表Red红色,G代表Green绿色,B代表Blue蓝色。在openCV中,一般使用BGR格式。在图像中,一般使用32位色的ARGB(或RGBA)代表一个像素,其中A代表Alpha透明度。常见的RGB格式有RGB888、RGBA8888、RGB565等。
通常的图像像素是按RGB顺序进行排列,但有些图像处理要转成其他顺序,比如OpenCV经常转成BGR的排列方式。
在这里插入图片描述

三、比较JPG、PNG、GIF、BMP图片格式

图片格式JPG/JPEGPNGGIFBMP
位深度最高为24 bit最高为32 bit最高为8 bit,画质差最高为32 bit
图片体积较小较大很小很大
能否压缩有损压缩,压缩率可以很高(通过舍弃一些不影响人眼观看的细节,来压缩体积)无损压缩,压缩率低无损压缩,压缩率高不压缩
能否透明不能能(在RGB通道之外加了一个Alpha通道,用0~256表示透明度)能(但是不能控制透明度,要么完全透明要么不透明)不能
总结适合保存色彩丰富、却要压缩体积的图片适合保存色彩丰富、又不限制体积的图片、透明图层适合保存色彩简单、而体积很小的图片。不仅可以存储单张图片,还支持用多帧组成动画体积很大,不适合在网络传输

http://www.ppmy.cn/ops/104572.html

相关文章

【精选】基于HTML5技术应用于智能宠物寻找与领养系统的设计与实现(全网独一无二,阿龙独创)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

学习记录:js算法(二十一):字符串的排列、替换后的最长重复字符

文章目录 字符串的排列我的思路网上思路 替换后的最长重复字符我的思路网上思路 总结 字符串的排列 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说&#xff…

网络:IPv6

对于IPv6其实一直都不算怎么了解,最近在这方面遇到了些问题,所以特意看了一下,做个学习笔记。 1.ipv6地址的格式 ipv6是由128位比特组成,通常将其分为8组,每组有4个16进制数字,组与组之间通过":&quo…

【秋招笔试】8.21华为秋招-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收…

速盾:Nginx使用CDN之后获取真实的用户IP

Nginx是一款高性能的Web服务器和反向代理服务器,广泛用于构建快速、可靠的网站和应用程序。使用CDN(内容分发网络)可以显著提升网站的性能和可用性。然而,使用CDN之后,获取真实的用户IP变得更加困难。本文将介绍如何在…

JavaScript进阶指南之Event Loop

JavaScript进阶指南之Event Loop 引言 简要介绍主题: 在JavaScript的世界中,Event Loop是一个核心机制,它决定了代码的执行顺序,尤其是在处理异步任务时。对于初学者来说,理解Event Loop的工作原理是迈向JavaScript进…

wordcloud兼figma的词云图片python生成

文章目录 一.Figma1.简介2.特点 二.代码构成1.详细代码2.word.py代码详解3.成果图 一.Figma 1.简介 Figma是一款全平台可使用的使用软件,和Sketch功能差不多;但是他可以在Mac,Windows PC,Linux计算机甚至Chromebook,…

MapBox Android版开发 3 地图样式v9

MapBox Android版开发 3 地图样式v9 前言MapBox样式对比主要类和方法Style类Style类成员变量Style类Layer方法默认的MapBox样式OnStyleLoaded 接口 MapboxMap类获取样式通过Style.StyleUrl设置样式通过Style.Builder设置样式Style.Builder 示例代码地图样式类界面布局控件响应事…