YUV中Y颜色模型的采样

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.mzph.cn/web/9839.shtml

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

相关文章

LabVIEW MEMS电容式压力传感器测试系统

LabVIEW MEMS电容式压力传感器测试系统 随着微电子技术的发展,MEMS(微电机系统)技术在各个领域得到了广泛应用。MEMS电容式压力传感器以其高灵敏度、小尺寸、低功耗等优点,在微传感器领域占据了重要的地位。然而,这些…

Smma-net:一种基于音频线索的目标说话人提取网络,具有谱图匹配和相互关注功能

SMMA-NET: AN AUDIO CLUE-BASED TARGET SPEAKER EXTRACTION NETWORK WITH SPECTROGRAM MATCHING AND MUTUAL ATTENTION 第二章 目标说话人提取之《Smma-net:一种基于音频线索的目标说话人提取网络,具有谱图匹配和相互关注功能》 文章目录 SMMA-NET: AN AUDIO CLUE-…

程序员的多维智慧:技术修炼、人际交往与投资哲学

程序员不应该只会埋头敲代码,要多看看书,多学习... 1.程序员技术 保持严谨的作风,实事求是,记录现象,找准依据,可以做出假设,问题的解释和结论必须能完整、全面符合现象和各种认知逻辑。 绝不…

【算法入门赛】B. 自助店评分(C++、STL、推荐学习)题解与代码

比赛地址:https://www.starrycoding.com/contest/8 题目描述 在上一场的入门教育赛中,牢 e e e找到了所有自助店的位置,但是他想发现一些“高分好店”,于是他利用爬虫技术从“小众点评APP”中爬取了武汉所有自助店的评分。 评分…

Python 机器学习 基础 之 构建第一个机器学习应用

Python 机器学习 基础 之 构建第一个机器学习应用 目录 Python 机器学习 基础 之 构建第一个机器学习应用 一、简单介绍 二、第一个机器学习测试应用介绍:鸢尾花分类 三、第一个机器学习测试应用 :前置环境,知识点介绍 jupyter notebo…

mamba-ssm安装卡着不动

项目中用到Mamba的小伙伴,causal_conv1d和 mamba-ssm两个包,但是会卡在Building wheel for mamba-ssm (setup.py) : 为了探究卡在了building的哪一步,加入–verbose进行显示: pip install mamba-ssm --no-cache-dir -…

Linux 安装JDK和Idea

安装JDK 下载安装包 下载地址: Java Downloads | Oracle (1) 使用xshell 上传JDK到虚拟机 (2) 移动JDK 包到/opt/environment cd ~ cd /opt sudo mkdir environment # 在 /opt下创建一个environment文件夹 ls# 复制JDK包dao /opt/environment下 cd 下载 ls jd…

openGauss学习笔记-279 openGauss性能调优-实际调优案例08-改写SQL消除in-clause

文章目录 openGauss学习笔记-279 openGauss性能调优-实际调优案例08-改写SQL消除in-clause279.1 现象描述279.2 优化说明openGauss学习笔记-279 openGauss性能调优-实际调优案例08-改写SQL消除in-clause 279.1 现象描述 in-clause/any-clause是常见的SQL语句约束条件,有时in…

Jmeter性能测试(三)

token鉴权处理 1、添加json提取器 2、写jsonpath表达式在响应Body中提取鉴权token token:变量名,可以直接引用 $…token:token数据在响应中的字段名称,根据自己情况写就行 3、将提取出来的token添加到请求头中 重点&#xff…

postman常用功能超全使用教程

Postman 使用 一、Postman 简介 Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求(如:get/post/delete/put…等等),将请求数据发送至服务端,获取对应的响应结果。 二、Postman 功能简介 三、Postman 下载安装 Post…

ssrf(第二弹)

四,post请求 1.打开环境,提示说发一个HTTP POST请求,ssrf是用php的curl实现的.并且会跟踪302跳转。 2.用dirsearch扫一下常见的端口,看到有三个可以访问的页面 3.构造伪协议,因为要通过172.0.0.1访问,我们…

基于OpenCV对胸部CT图像的预处理

1 . 传作灵感 胸部CT中所包含的噪声比较多,基于OpenCV简单的做一些处理,降低后续模型训练的难度。 2. 图像的合成 在语义分割任务中有的时候需要将原图(imput)和标注数据(groudtruth)合成一幅图像&#x…

Java——接口的补充

目录 一:接口的注意事项 1. 接口中不能有方法块; 2. 接口没有构造方法: 3.接口是可以多继承的; 4. 多个接口抽象方法重复 5. 类的父类方法与接口方法重复 二:类与接口 1. 继承与实现 2. 多个父接口的抽象…

AzureDataFactory 表选项之自动创建表

接上篇, 该篇里表与表之间采取了提前mapping的方式,通过Import schemas的方式将源和目标的表的schemas做了一对一的匹配 但如果我的应用场景是将D365的表数据推送到外部数据源,需要原表clone,如果我去先建表建字段再做mapping未免过于繁琐&am…

基于WPF的DynamicDataDisplay曲线显示

一、DynamicDataDisplay下载和引用 1.新建项目,下载DynamicDataDisplay引用: 如下图: 二、前端开发: <Border Grid.Row="0" Grid.Column="2" BorderBrush="Purple" BorderThickness="1" Margin="2"><Grid>…

面试笔记——类加载器

基础 类加载器&#xff1a;用于装载字节码文件(.class文件)运行时数据区&#xff1a;用于分配存储空间执行引擎&#xff1a;执行字节码文件或本地方法垃圾回收器&#xff1a;用于对JVM中的垃圾内容进行回收 类加载器 &#xff1a;JVM只会运行二进制文件&#xff0c;类加载器的…

Gateway基础配置指南

Gateway基础配置指南 一、引言 随着微服务架构的普及&#xff0c;API网关&#xff08;Gateway&#xff09;作为微服务架构中的关键组件&#xff0c;其重要性日益凸显。Gateway作为系统的唯一入口&#xff0c;负责处理所有客户端的请求&#xff0c;并根据业务规则将请求转发到…

快速上手prometheaus grafana 监控

介绍 prometheaus 一个定时输出指标数据的巡检组件&#xff1f; grafana 一个读取指标&#xff0c;可视化的提供了好看界面的组件&#xff1f; 教程 如何和springboot项目集成 【IT老齐153】超级实用&#xff01;十分钟掌握Prometheus与Grafana监控SpringBoot应用_哔哩哔哩_…

【知识碎片】2024_05_10

每日代码 至少是其他数两倍的最大数 . - 力扣&#xff08;LeetCode&#xff09; int dominantIndex(int* nums, int numsSize) {int max_num 0;int next_max 0;int pos 0;for(int i 0; i < numsSize; i){if(nums[i] > max_num) {pos i;next_max max_num;max_num…