音视频开发3 视频基础,图片基础

news2024/11/25 6:41:05

图片像素(Pixel)

一张图片是由多少个 像素 构成的。

例如一张图片是由60x50组成的。

位深度 bit depth

RGB表示法

Red)、绿Green)、Blue)

除了24bit,常见的位深度还有:

  • 1bit:2种颜色,黑白两色
  • 3bit:8种颜色,用于大部分早期的电脑显示器,红绿蓝各占1位
  • 8bit:256种颜色,用于最早期的彩色Unix工作站,红色占3位、绿色占3位、蓝色占2位
  • 16bit:红色占5位、蓝色占5位、绿色占6位
  • 24bit:也被称为是:真彩色(True Color),也就是常说的24位真彩

  • 32bit:基于24位,增加8个位的透明通道
    • 可以表示带有透明度的颜色
    • 比如CSS中的rgba(255, 0, 0, 0.5)表示50%透明度的红色

YUV 表示法:

Y、U、V三个分量组成,现在通常说的YUV指的是YCbCr

  • Y:表示亮度(Luminance、Luma),占8bit(1字节)
  • CbCr:表示色度(Chrominance、Chroma)
    • Cb(U):蓝色色度分量,占8bit(1字节)
    • Cr(V):红色色度分量,占8bit(1字节)

YUV和RGB 比较:体积更小

YUV的优势是比 RGB拥有更小的体积

  • 如果使用RGB
    • 比如RGB888(R、G、B每个分量都是8bit)
    • 1个像素占用24bit(3字节)
  • 如果使用YUV
    • 1个像素可以减小至平均只占用12bit(1.5字节)
    • 体积为RGB888的一半

YUV 的采样格式

采样格式通常用A:B:C的形式来表示,比如4:4:4、4:2:2、4:2:0等,其中我们最需要关注的是4:2:0

YUV 的存储格式

YUV的存储格式可以分为3大类:

  • Planar(平面)
    • Y、U、V分量分开单独存储
    • 名称通常以字母p结尾
  • Semi-Planar(半平面)
    • Y分量单独存储,U、V分量交错存储
    • 名称通常以字母sp结尾
  • Packed(紧凑)
    • 或者叫Interleaved (交错)
    • Y、U、V分量交错存储

YUV 的常用类型,结合采样格式和存储格式

4:4:4

  • I444
Y Y Y Y
Y Y Y Y
U U U U
U U U U
V V V V
V V V V

  • YV24
Y Y Y Y
Y Y Y Y
V V V V
V V V V
U U U U
U U U U

  • NV24
Y Y Y Y
Y Y Y Y
U V U V U V U V
U V U V U V U V

  • NV42
Y Y Y Y
Y Y Y Y
V U V U V U V U
V U V U V U V U

4:2:2

  • I422
Y Y Y Y
Y Y Y Y
U U
U U
V V
V V

  • YV16
Y Y Y Y
Y Y Y Y
V V
V V
U U
U U

  • NV16
Y Y Y Y
Y Y Y Y
U V U V
U V U V

  • NV61
Y Y Y Y
Y Y Y Y
V U V U
V U V U

  • UYVY
U Y V Y U Y V Y
U Y V Y U Y V Y

  • YUYV
Y U Y V Y U Y V 
Y U Y V Y U Y V 

  • YVYU
Y V Y U Y V Y U
Y V Y U Y V Y U

4:2:0

I420 (YUV420P)

  • 大多数视频解码器以I420格式输出原始图片
 
Y Y Y Y
Y Y Y Y
U U
V V

  • YV12
Y Y Y Y
Y Y Y Y
V V
U U
  • NV12

Y Y Y Y
Y Y Y Y
U V U V

  • NV21
Y Y Y Y
Y Y Y Y
V U V U

总结

图片有2个要素,视频有3个要素。

像素,RGB/YUV类型,fps(每秒播放多少个图片)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度解析JVM世界:常见的垃圾回收器

本篇文章的主要内容是介绍JVM中常见的垃圾收集器 JVM(Java Virtual Machine)垃圾收集器是Java虚拟机中负责自动管理内存的重要组件。它的主要任务是自动回收不再使用的对象,以防止内存泄漏,并使得程序员无需关心内存管理问题&…

快乐数(双指针)

算法原理 通过题目的第二条我们可以知道:这道题只有两种结果: (1)一直循环并且变不成1; (2)能变成1 以上的两种情况其实我们可以归结成一种情况:都是无限循环但是第二种是对于1的…

Unreal游戏GPU性能优化检测模式全新上线

UWA已经在去年推出了针对于Unity项目的GPU性能优化工具,通过对GPU渲染性能、带宽性能以及各种下探指标,帮助Unity项目研发团队定位由GPU导致的发热耗电问题。这个需求在Unreal团队中也极为强烈,因此UWA将该功能移植到针对Unreal项目的GOT Onl…

深度学习之基于Vgg16卷积神经网络心电图心脏病诊断系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 心脏病作为全球范围内的一种常见且严重的疾病,其早期的准确诊断对于患者的治疗和康复至关…

深度学习之基于YOLOv8学生课堂行为检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与目标 随着教育信息化的不断推进,对学生课堂行为的实时监测与评估成为了教育领域的研究热…

图像处理技术与应用(四)

图像处理技术与应用入门 颜色空间及其转换 颜色空间是一种用于在数字图像中表达和指定颜色的方法。不同的颜色空间使用不同的方式来定义颜色,每种方式都有其特定的用途和优势。以下是一些常见的颜色空间及其特点: RGB(红绿蓝)&a…

【七十九】【算法分析与设计】并查集模板!!!并查集的实现_牛客题霸_牛客网,【模板】并查集 - 洛谷,并查集代码!!!

并查集的实现_牛客题霸_牛客网 描述 给定一个没有重复值的整形数组arr,初始时认为arr中每一个数各自都是一个单独的集合。请设计一种叫UnionFind的结构,并提供以下两个操作。 boolean isSameSet(int a, int b): 查询a和b这两个数是否属于一个集合 void u…

SparkSQL编程入口和模型与SparkSQL基本编程

SparkSQL编程入口和模型 SparkSQL编程模型 主要通过两种方式操作SparkSQL,一种就是SQL,另一种为DataFrame和Dataset。 1)SQL:SQL不用多说,就和Hive操作一样,但是需要清楚一点的是,SQL操作的是表&#xf…

90、动态规划-最长的有效括号

思路: 找出有效括号并且是最长的有效括号 dp[i]表示以i结尾的括号最长是多少 然后从1开始 因为从0位置不管是左括号还是右括号都是无法形成一个完成的括号。所以dp[0]0; 当i1时候,判断括号是否是)如果不是那么无法结尾&#x…

3. FactoryTalk View SE按钮工具库

系统自带的按钮比较丑陋,为了迎合客户需求可以从工具库中选择漂亮的按钮图形。 单击按钮选择释放外观–使用图像引用–启动库–选择按钮库,找到一款合适的图形–右键copy copy之后点击从库中粘贴–确定 这样就实现按下按钮的颜色是红色,在…

记录一次给PCAN升级固件pcan_canable_hw-449dc73.bin

方法一:网页升级 首先将3.3V与BOOT短接,插入电脑USB接口,识别为STM32 BOOTLOADER,芯片进入DFU模式。 如果电脑没有识别到STM32 BOOTLOADER,或无法驱动,则需要安装ImpulseRC_Driver_Fixer修复工具。 推荐使用Google浏览器打开网页升级选择PCAN固件,点Connect and Update,…

【Stream 流】通过一个例子看遍所有Stream API使用场景

前言 上篇文章记录了方法引用,Lambda表达式等基础的知识点,这篇文章主要结合课设项目详细介绍Stream 流的API以及它的主要场景。 Stream API作用 在Java 8及其以后的版本中,Stream API为处理集合数据提供了强大而灵活的功能。有了Stream AP…

Java双亲委派机制

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 概述 Java程序在运…

JAVA聊天室-网络编程socket+javafx+maven【附带exe+源代码,小白可运行,简单容易上手,代码附带注释】

前言 可以学习到java网络编程的知识,也可以拿去当个模板去添加功能 项目展示: chatv1.0 服务器打包视频: 服务器打包exe 1. 项目概述 本项目旨在开发一个简单的群聊室应用程序,使用JavaFX作为用户界面框架,以及Java…

管道通信与Linux命令的执行-(读书笔记-十三)

|前一个命令的输出作为后一个命令的输入。 在Linux中,|符号是一个管道符号,用于将前一个命令的输出作为后一个命令的输入。这种机制允许你将多个命令组合在一起,以执行复杂的操作。下面是一些基本的例子: 查看当前目录下的文件列…

Axure实现菜单抽屉效果

Axure是怎么实现如下效果的? 菜单打开和收起侧边栏菜单抽屉效果 实现效果 两级菜单,点击菜单收起其他菜单,打开当前菜单。 实现原理 单击一级菜单时,1)切换当下二季菜单的显示/隐藏状态 2)隐藏其他菜单…

[Android]四大组件简介

在 Android 开发中,“四大组件”(Four Major Components)是指构成 Android 应用程序的四种核心组件,它们通过各自的方式与系统交互,实现应用的多样功能。这些组件是:Activity、Service、Broadcast Receiver…

青春送温暖 立夏寄真情

(通讯员:赵灿飞 图:杨美、孙红浪) 在青春洋溢的五月,为传承中华民族尊老敬老的传统美德,促进当代青年与老人的跨代交流,增强青年的社会责任感和使命感,传递正能量和关爱困难群体…

组播应用:SW1、SW2、RT1、RT2、AC1运行PIM-SM

SW1、SW2、RT1、RT2、AC1运行PIM-SM,SW1 Vlan10为C-BSR和C-RP;SW1产品网络(PC1)启用组播,用VLC工具串流播放视频文件“1.mp4”,模拟组播源,设置此视频循环播放,组地址232.1.1.1,端口1234,实现总公司和分公司收看视频,用PC2测试。 一、SW1、SW2、RT1、RT2、AC1配置如…

功能全面的外发文件控制方案,拿走不谢

在日常办公中,很多企业往往只采取各种措施来确保存储数据的安全,却忽略了文件外发的安全。因此企业由于自身的安全防护机制不严谨,引发的数据安全事件频发,经常导致严重的经济损失。使用较多的外发方式有邮件、IM通讯工具、网盘、…