YUV中Y颜色模型的采样

news2024/12/26 10:37:42

YUV的特点

相对于表示颜色的GUI, YUI将亮度(用Y表示)与色调(用U和V表示)分开来表示。又因为人类视网膜上的视网膜杆细胞要多于视网膜锥细 胞,说得通俗一些,视网膜杆细胞的作用就是识别亮度,而视网膜锥细胞的作用就是识别色度。所以,人类的眼睛对于亮和暗的分辨要比对颜色的分辨精细一些。对于YUV模型,人类眼部会对Y分量更敏感,所以对于图像的表示来说, U和V代表的信号没必要和Y一样多。

在数字图像处理领域中,色度抽样是指在表示图像时使用比亮度信息低的分辨率来表示色彩(色度)信息,它常用Y:U:V来表示。

下面是4种常见的采样:

YUV4:4:4 4:4:4 Formats, 24 Bits per Pixel

没有任何压缩,每一行Y,U,V分量是一样多的。排列方式为:
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
[ y u v ] [ y u v ] [ y u v ] [ y u v ]
它被用在高端的底片扫描仪和影片后期处理上

YUV4:2:2 4:2:2 Formats, 16 Bits per Pixel

每一行U,V的分量是Y的1/2, U和V间隔出现, 排列方式为:

[ y u ] [ y v ] [ y u ] [ y v ]
[ y v ] [ y u ] [ y v ] [ y u ]
[ y u ] [ y v ] [ y u ] [ y v ]
[ y v ] [ y u ] [ y v ] [ y u ]

YUV4:1:1

每一行U,V分量是Y分量的1、4, 排列方式为:
[ y u v ] [ y ] [ y ] [ y ]
[ y u v ] [ y ] [ y ] [ y ]
[ y u v ] [ y ] [ y ] [ y ]
[ y u v ] [ y ] [ y ] [ y ]

YUV 4:2:0 · 4:2:0 Formats, 12 Bits per Pixel

每一行,U和V都是Y的1/2, 并且U和V间隔出现在多行里:
[ y u ] [ y ] [ y u ] [ y ]
[ y v ] [ y ] [ y v ] [ y ]
[ y u ] [ y ] [ y u ] [ y ]
常见的 JPEG格式和 MJPEG 格式

如上面YUV根据压缩方式可以分为四类: YUV4:4:4 , yuv4:2:2 , YUV:4:1:1, YUV:4:2:0

当这些数据存储到文件时,又可以分为三类:

  • packet打包格式: 将YUV按照排列的方式依次存储 l类似: YUV, YUV,.....
  • PLANAR平面格式: 先存储Y,在存储U,在存储V 类似: yyyyy uuuuu vvvv
  • semi-plana半平面格式: 先存储Y, 在存储UV。 类似: yyyyy uvuv

根据不同的抽样方式和存储方式YUV通常呗分为以下类型,每种类型极对应一种存储格式:

  • YUV4:4:4 无抽样打包方式存储


YUY2 以4:2:2抽样,打包方式存储,且每个单元Y在前.

  • YUY2 也写作YUYV
  • UYVY 以4:2:2抽样,打包方式存储,且每个单元Y在后

*IMC2 以4:2:0抽样,平面方式存储 先种U后V

*IMC4 4:2:0抽样,平面方式存储 先Y种V后U

*YV12&I420 4:2:0抽样,平面方式存储 YV12是V在前,I420是U在前

  • Notes: I420也被称为YUV420P
  • NV12 4:2:0抽样,平面方式存储

NV12格式首先存储Y分量平面,作为具有偶数行的无符号字符值数组。 Y平面后面紧跟着一个无符号字符值数组,其中包含打包的U(Cb)和V(Cr)样本

  • YUV420sp 4:2:0抽样, 半平面存储

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

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

相关文章

举办《Llama3关键技术深度解析与构建Responsible AI、算法及开发落地实战》线上高级研修讲座

举办《Llama3关键技术深度解析与构建Responsible AI、算法及开发落地实战》线上高级研修讲座

数据库的一些知识点

数据模型的组成要素中,描述数据库的组成对象以及对象之间的联系的是( )。 A 数据结构 B 数据操作 C 数据的完整性约束条件 D 数据的安全性约束条件 2.单选题 (2分) 若关系中的某一组属性的值能够唯一地标识一个元组,而其子集…

Sarcasm detection论文解析 |基于混合自动编码器的模型对社交媒体平台进行讽刺检

论文地址 论文地址:Electronics | Free Full-Text | Sarcasm Detection over Social Media Platforms Using Hybrid Auto-Encoder-Based Model (mdpi.com) 论文首页 笔记框架 基于混合自动编码器的模型对社交媒体平台进行讽刺检 📅出版年份:2022 &#x…

Istio中的全局限流方案

Istio中的全局限流方案 在k8s网格(istio)环境中, 可以通过创建Envfoyfilter的方式来配置限流。 在istio官方文档中,提供了两种限流方式: 本地限流全局限流 本地限流的细节这里不再赘述, 主要讲解全局限流的配置方式…

基础算法,贪心算法,贪心策略,OJ练习

文章目录 一、概念二、OJ练习2.1 区间选点2.2 区间合并2.3 区间2.4 合并果子2.5 排队接水2.6 货仓选址2.7 防晒2.8 畜栏预定2.9 雷达设备2.10 国王游戏2.11 耍杂技的牛2.12 给树染色2.13 任务2.14 能量石 三、总结 一、概念 贪心是一种在每次决策时采取当前意义下最优策略的算…

数字音频的采样和量化

一.PCM(Pulse-Code Modulation 脉冲编码调制) PCM是一个无损无压缩的(相较于有损压缩,如果相对于模拟信号是有损的)数字化编码方式(PCM不单单应用于音频领域,本文只介绍在音频领域中的应用&…

EmploLeaks:一款针对企业安全的组织员工信息收集OSINT工具

关于EmploLeaks EmploLeaks是一款针对企业安全的组织员工信息收集OSINT工具,在该工具的帮助下,企业内部的安全人员和管理员可以有效地收集组织内员工的各种信息,并以此来判断组织内部的网络安全态势。 工作机制 首先,该工具会在…

暴力法解决最近对问题和凸包问题-实现可视化

目录 最近对问题 凸包问题 最近对问题 顾名思义就是采用蛮力法求出所有点之间的距离,然后进行比较找出第一个最近对,一个一个进行比较。 大概思路就是如图(每个圈代表一个数对) 第一个和其他四个比较 第二个和其他三个比较 …

vite开发的项目如何打包build不同环境的代码?适配不同环境api接口

vite配置官方文档:环境变量和模式 | Vite 官方中文文档 其实vite打包的时候,主要是根据不同的环境来生成不同的打包文件的,所以不同的环境是怎么区分呢?这个在vite官方已经说明白了,那就是:环境变量和模式…

Linux 操作系统线程1

目录 一、线程 1.1线程的基本概念 1.2 线程相关的API函数 1.2.1 线程的创建 1.2.2 线程退出 1.2.3 线程等待函数 1.2.4 获取线程ID 1.2.5 线程取消 1.2.6 线程的清理函数 一、线程 1.1线程的基本概念 线程是属于进程;一个进程可以有多个线程&#xff…

【机器学习300问】83、深度学习模型在进行学习时梯度下降算法会面临哪些局部最优问题?

梯度下降算法是一种常用的优化方法,用于最小化损失函数以训练模型。然而,在使用梯度下降算法时,可能会面临以下局部最优问题。 (一)非凸函数的局部极小值 问题描述:在复杂的损失函数中,如果目…

5.2 Java全栈开发前端+后端(全栈工程师进阶之路)-服务端框架-Spring框架-相信我看这一篇足够

1.Spring框架 1.1.Spring框架简介 Spring是一个基于java的轻量级的、一站式框架。 虽然Spring是一个轻量级框架,但并不表示它的功能少。实际上,spring是一个庞然大物,包罗万象。 时至今日,Spring已经成为java世界中事实上的标准…

代码随想录算法训练营第36期DAY24

DAY24 235二叉搜索树的最近公共祖先 迭代法: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solutio…

笔记本电脑怎么多选删除文件?误删除文件怎么办

在日常使用笔记本电脑中,我们可能会遇到需要删除大量文件的情况,例如清理临时文件、整理文档或卸载不再需要的程序。手动一个一个地删除不仅效率低下,还可能遗漏某些文件。那么,如何在笔记本电脑上高效地进行多选删除操作呢&#…

C补充1—1章1.0—C程序语言设计(许宝文,李志)

二手书到了,好消息,前主人看的很认真,坏消息,只看到这页了 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊最后几题好难啊啊啊啊啊,再议 目录 1.1 入门 1.2 变量与算数表达式 练习1-3 //打印温度对照表 练习1-4 //摄氏-华氏温…

vscode 实现本地服务器部署小结

在查阅 MDN 网站的时候,偶然发现的原来 vscode 也可以实现本地化服务器部署,来模拟服务器的运行。 安装插件 在VSCode的插件市场搜索并安装以下插件: – Live Server(用于开启本地服务器) – Debugger for Chrome&a…

bash: docker-compose: 未找到命令

bash: docker-compose: 未找到命令 在一台新的服务器上使用 docker-compose 命令时,报错说 docker-compose 命令找不到,在网上试了一些安装方法,良莠不齐,所以在这块整理一下,如何正确快速的安装 docker-compose cd…

英飞凌TC3xx 启动逻辑梳理(1)

目录 1.启动时序总览 2.Boot Firmware干了什么? 2.1 BMHD梳理 2.2 HWCFG 2.3 ABM 2.4 BMHD 无效时处理方案 2.5 HSM启动如何影响SSW启动 3.小结 在调TC3xx的板子时,最害怕的就是刷UCB;稍不注意板子就上锁,调试器也连不上了…

BL207分布式I/O模块能源管理系统升级的智慧之选

能源管理领域智能化、网络化趋势的不断深入,如何高效、准确地采集并分析能源消耗数据成为众多企业优化能源利用、降低成本的关键所在。钡铼电子的BL207 BACnet IP分布式远程I/O模块,正是在这样的背景下应运而生,为能源管理系统(EM…

zookeeper启动 FAILED TO START

注意:启动zookeeper时,需要使用zkServer.sh start命令将所有主机启动后,再查看状态 如果,启动一台主机,查看当前主机状态,则会报错 如果出错,进入到$ZOOKEEPER_HOME/logs,查看日志 …