YCbCr色彩空间

2023-11-13

一. RGB

三原色光模式(RGB color model)

表示方式

RGB 颜色空间

  • R(red): 红色
  • G(green): 绿色
  • B(blue): 蓝色

使用场景

摄影, 彩色电视, 彩色显示屏

 

二. HSV(HSL)

HSV(HSL) 是一种将 RGB 色彩模型中的点在圆柱坐标系中的表示法。

表示方式

HSV 颜色空间

  • H(Hue): 色相(表示什么颜色)
    • 每个角度上都有不同的颜色
  • S(Saturation): 饱和度(表示颜色的深浅)
    • 色轮上的饱和度, 从圆心出发, 半径越大, 饱和度越高
  • V(Value)/B(Light): 亮度值(表示颜色的明暗)
    • 从圆锥的顶点出发, 越往上, 亮度越大

使用场景

HSV 模型通常用于计算机图形应用中

特点

HSV 因为它类似于人类感觉颜色的方式,具有较强的感知度。而HSV以人类更熟悉的方式封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?”

  • 通过 S 分量, 调节饱和度更方便
  • 通过 V 分量, 调节亮度更方便

 

三. YUV(YCbCr)

YUV 是北美 NTSC 系统和欧洲 PAL 系统中模拟电视信号编码的基础

  • YCbCr 则是在世界数字组织视频标准研制过程中作为 ITU - R BT1601 建议的一部分, 其实是 YUV 经过缩放和偏移的翻版

一) 表示方式

通道分离

  • Y: 亮度信号
  • U(Cb): 蓝色色度分量
  • V(Cr): 红色色度分量

二) 使用场景

YCbCr 常用于视频领域, 也是 JPEG 图像编码中采用的色彩空间

YUV模型是根据一个亮度(Y分量)和两个色度(UV分量)来定义颜色空间,常见的YUV格式有YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420等,其中比较常见的YUV420分为两种:YUV420P和YUV420SP。

  • 常用的 YUV 格式有 YUY2、YUYV、YVYU、UYVY、AYUV、Y41P、Y411、Y211、IF09、IYUV、YV12、YVU9、YUV411、YUV420
  • android平台下使用相机默认图像格式是NV21属于YUV420SP格式

其中 YUV420 的格式比较常用

 

YUV采样

YUV 4:4:4采样,每一个Y对应一组UV分量,一个YUV占8+8+8 = 24bits 3个字节。
YUV 4:2:2采样,每两个Y共用一组UV分量,一个YUV占8+4+4 = 16bits 2个字节。
YUV 4:2:0采样,每四个Y共用一组UV分量,一个YUV占8+2+2 = 12bits 1.5个字节。

三) YUV420

YUV420 每四个 Y 共用一组 UV 分量

  • 分为 YUV420P 和 YUV420SP 两种子模式
  • YUV420P和YUV420SP都是基于4:2:0采样的,所以如果图片的宽为width,高为 heigth,在内存中占的空间为 width * height * 3 / 2 ,其中前 width * height 的空间存放Y分量,接着 width * height / 4 存放U分量,最后 width * height / 4 存放V分量。

YUV420

  • 其中颜色相同的表示一组 YUV 的像素

1. YUV420P

YUV420P 又叫plane平面模式, 是 YUV 标准格式 YUV420, 主要分为: YU12和YV12

  • YU12(android平台下也叫作I420格式): 先存储 Y 值, 再存储 U 值, 最后存储所有 V 值

YU12:亮度(行×列) + U(行×列/4) + V(行×列/4)

  • YV12: 先存储 Y 值, 再存储 V 值, 最后存储所有 U 值

YV12:亮度Y(行×列) + V(行×列/4) + U(行×列/4)

 

 

2. YUV420SP

YUV420SP 先存储所有 Y 值, 然后是 UV/VU 交替存储, 一共两个平面, 其主要的子格式有 NV12 和 NV21, 是一种two-plane模式

  • NV12: 先存储 Y 值, 再存储 UV

NV12存储顺序是先存Y值,再UV交替存储:YYYYUVUVUV,以 4 X 4 图片为例子,占用内存为 4 X 4 X 3 / 2 = 24 个字节

  • NV21: 先存储 Y 值, 再存储 VU

android手机从摄像头采集的预览数据一般都是NV21,存储顺序是先存Y,再VU交替存储,NV21存储顺序是先存Y值,再VU交替存储:YYYYVUVUVU,以 4 X 4 图片为例子,占用内存为 4 X 4 X 3 / 2 = 24 个字节

 

YUV和RGB转换

Y      =  (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
Cr = V =  (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128

B = 1.164(Y - 16) + 2.018(U - 128)
G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
R = 1.164(Y - 16) + 1.596(V - 128)

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YCbCr色彩空间 的相关文章

  • 为什么 cordova.file.documentsDirectory 为空?

    我正在尝试使用 cordova plugin file transfer 在http ngcordova com docs plugins fileTransfer http ngcordova com docs plugins fileT
  • 使用 GoogleServices 插件时忽略 Gradle ArchivesBaseName

    我经常使用 archivesbasename 来重命名我的输出 apk 但自从使用 google services 插件后 它就被忽略了 我能做些什么来让它再次工作吗 下面附上了我完整的 build gradle 感谢您的指点 apply
  • 如何使用retrofit2进行GET请求?

    我有一个在本地主机上运行的安静的 Web 服务 我想在该剩余 URL 上发出 Retrofit2 GET 请求 MainActivity java private void requestData public static final S
  • 添加动态数据时 footable 出现问题

    我需要 jQuery Mobile 方面的一些帮助富表 http css tricks com footable a jquery plugin for responsive data tables 我正在表中动态添加数据 HTML tab
  • 游标索引越界异常

    打开后出现光标索引越界错误 数据库 请任何人告诉我如何打开现有数据库 sqllite Android 我想在数据库上触发一个选择查询 检索一些信息 public void getPatient SQLiteDatabase db Strin
  • 更改 Android 中的媒体音量?

    我可以更改媒体音量吗 如何 到目前为止我用过这个 setVolumeControlStream AudioManager STREAM MUSIC 但有一个搜索栏并且想要更改媒体音量 而不是铃声音量 那么有人可以告诉我如何更改媒体音量onC
  • 如何使用 Swipe 视图实现 Android TabLayout 设计支持库

    我将使用 android TabLayout 设计支持库 但我不知道如何使用滑动视图 这是我的代码 XML
  • 如何在android中画一条曲线?

    我是 Android 新手 正在开发一个关于绘制线条的示例项目 我想画一条连接两点的曲线或高架线 x1 y1 and x2 y2 我试过canvas drawArc 方法 但是RectF内的值drawArc方法只是圆的 x y 中心点 它在
  • 我应该选择的最低 SDK 版本是多少? (截至2018年11月)

    据我所知 android studio 中默认的最小 SDK 设置是 15 我读到我应该增加它 因为没有多少人 或者可能没有 仍在使用该 android 版本 另外 我计划使用 android studio 中的一些新功能 这些功能仅适用于
  • Android - 多次实例化一个片段?

    我正在创建一个在 ListView 中显示数据的应用程序 数据分为两种类型 热门 收藏夹 我有一个活动和两个片段 片段根据类别显示项目列表 我为此使用了 ListView 然后我有两个fragment layouts 它们在设计上完全相同
  • Android httpclient文件上传数据损坏和超时问题

    我在 Android 中上传图像时遇到问题 我正在使用 apache httpmime 4 1 lib 代码是这样的 MultipartEntity reqEntity new MultipartEntity HttpMultipartMo
  • 如何更改 Android 12 启动屏幕中的图标形状?

    我想要矩形形状的启动屏幕图标 而不是 android 12 中的圆形形状 我不相信你可以 如果你看这里的第 3 点 https developer android com about versions 12 features splash
  • 无法登录 Google Play 游戏服务

    我在开发者控制台上使用包名称和正确的签名证书设置了我的游戏 并为其创建了排行榜 但没有创建任何成就 然后 我从以下位置下载了示例 Type A Number Challenge 和 BaseGameUtils https developer
  • BitmapFactory.decodeResource() 忽略 jpg 图像的 inPreferredConfig 选项

    我尝试将jpeg资源图像加载到ARGB 8888格式的位图 BitmapFactory Options opts new BitmapFactory Options opts inPreferredConfig Bitmap Config
  • 从Android客户端登录appengine

    我正在尝试登录应用程序引擎并访问应用程序引擎中的用户服务API 基本上我希望能够看到谁登录了我的 servlet 我正在使用从 android 获取 authtoken 然后从应用程序引擎获取 ASID 或 SACID cookie 的身份
  • SDK尚未初始化,请务必先调用FacebookSdk.sdkInitialize()

    我在实现 Facebook SDK 时遇到此错误 并且我tried https stackoverflow com questions 15490399 error inflating class com facebook widget l
  • 在片段之间切换时底部导航栏会向下推

    在我的活动中 我有一个底部导航栏和框架布局来显示片段 一切正常 但问题是当我开始按顺序从 1 4 移动时 底部导航栏保持在其位置 但当我突然从 4 跳到2 然后底部导航栏就会超出屏幕 当再次单击同一项目时 它就会回到正常位置 该视频将清楚地
  • 使用 RecyclerView.Adapter 在 onBindViewHolder() 内设置 onItemClickListener

    我有一个自定义对象 学生班 public class Student private String name private String age public String getName return name public void
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 制作弹跳动画

    我想做图层的弹跳动画 我已经完成了该图层从右到中心的操作 现在我想将其向后移动一点 然后回到中心 这会产生反弹效果 我想我可以用这样的翻译来做到这一点

随机推荐

  • 第二讲:网线的制作方法及步骤

    这几年 网络搭建与应用 专业技能大赛所需网线需要参赛学生自己制作 所以今天讲讲网线的制作方法及步骤 所要原料 双绞线 RJ45水晶头 所需工具 双绞线压线钳 双绞线测试仪 在制作网线之前 我们先来了解双绞线的连接方法 双绞线的连接方法有两种
  • windows下redis 和 hiredis的编译与使用

    转 http www cnblogs com raker p 4368741 html 果然 高端的程序员真心是鸟都不鸟windows的 redis的客户端找了一圈愣是没有C 的windows版本 我要做个windows上的C 的服务器都没
  • ubuntu安装SSH2

    apt get install libssh2 1 dev libssh2 php service apache2 restart 安装完成之后 可以使用SCP远程复制文件 connection ssh2 connect 192 168 1
  • 读取本地文件到读出p.node涉及的函数

    这里是读取本地文件的所调用的函数 func ParseNode rawurl string Node error if m incompleteNodeURL FindStringSubmatch rawurl m nil id err H
  • 【学习笔记】多模态综述

    多模态综述 前言 1 CLIP ViLT 2 ALBEF 3 VLMO 4 BLIP 5 CoCa 6 BeiTv3 总结 参考链接 前言 本篇学习笔记虽然是多模态综述 本质上是对ViLT后多模态模型的总结 时间线为2021年至2022年
  • Linux文件描述符和重定向

    文件描述符 0 stdin 标准输入 1 stdout 标准输出 2 stderr 标准错误 成功和不成功的命令 student myhost ls ls cannot access No such file or directory st
  • STM32定时器

    目录 一 定时器的基本介绍 二 定时器的原理框图 1 定时器时钟 2 时基单元 3 捕获输入 4 PWM输出 三 定时器的应用 1 定时器的基础定时计数功能 2 PWM比较输出 3 外部脉冲计数 a 外部触发输入 ETR 外部时钟模式2 b
  • 617. 合并二叉树(c++)

    暴力解 当t1为空返回t2 当t2为空返回t1 当t1 t2都有值 new新节点为两个节点的和 新节点左子树为原始节点左子树合并 新节点右子树为原始节点右子树合并 Definition for a binary tree node stru
  • stm32 /*TIM定时器使用

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一部分 定时器定时计数功能 一 定时器RCC内部时钟初始化配置 二 定时时间的计算 试验现象 晶振原理 1s时间计算 1min时间计算 制作时钟读数表 试验现象 试
  • leetcode刷题(四)——概率论与数理统计(一)

    leetcode刷题系列四 主要的内容涉及概率论和数理统计的知识 例题 算法分析 int dp 12 70 double dicesProbability int n int returnSize int i j k double f do
  • ubuntu安装及深度学习框架(CUDA、cuDNN、Anaconda、pytorch、pycharm)

    文章目录 前言 一 安装ubuntu20 04 4 1 准备工作 2 开始安装 二 安装英伟达驱动 方案一 不推荐 1 下载NVIDIA驱动 2 安装GCC 3 卸载原有NVIDIA驱动 一般都没有 4 禁用通用驱动 三 安装英伟达驱动 方
  • 上位机与欧姆龙PLC的Fins tcp通讯

    参考1 147条消息 欧姆龙PLC的FinsTCP协议 weixin 37700863的博客 CSDN博客 欧姆龙fins协议tcp 参考2 147条消息 FinsTCP协议报文详细分析 常哥说编程的博客 CSDN博客 fins协议 参考3
  • 在R语言中利用mice包进行缺失值的线性回归填补

    在数据分析中 我们会经常遇到缺失值问题 一般的缺失值的处理方法有删除法和填补法 通过删除法 我们可以删除缺失数据的样本或者变量 而缺失值填补法又可分为单变量填补法和多变量填补法 其中单变量填补法又可分为随机填补法 中位数 中值填补法 回归填
  • 常见http状态码详解

    状态码 类别 原因短语 1XX Informational 信息性状态码 接受的请求正在处理 2XX Success 成功状态码 请求正常处理完毕 3XX Redirection 重定向状态码 需要进行附加操作以完成请求 4XX Clien
  • 架构总结图

  • 斑马网络和荣威RX5深度研究

    锋影 email 174176320 qq com 佐智汽车就李想的观点访谈了两位业内专家 他们的回答如下 专家A 这个是需求推动 有需求就有人做 特斯拉用Linux一样有地图 Android过于复杂 可靠性问题比Linux大几个数量级 做
  • 调用服务工具类-HttpsUtil

    import java io BufferedReader import java io IOException import java io InputStream import java io InputStreamReader imp
  • 星际文件存储IPFS是如何颠覆云存储的?

    一句话概括 IPFS The InterPlanetary File System 星际文件存储系统是一种点到点的分布式文件系统 它连接的计算设备都拥有相同的文件管理模式 从某种意义上来说这个概念跟Web的最初理念很类似 但是实际上IPFS
  • gazebo通过sdf搭建仿真环境和机器人Husky

    具体格式要求可参考 http sdformat org spec ver 1 6 elem sdf
  • YCbCr色彩空间

    一 RGB 三原色光模式 RGB color model 表示方式 R red 红色 G green 绿色 B blue 蓝色 使用场景 摄影 彩色电视 彩色显示屏 二 HSV HSL HSV HSL 是一种将 RGB 色彩模型中的点在圆柱