FFmpeg之YUV420排列原理(二十三)
一、RGB与YUV转换
LCD显示的数据就是RGB来表示每个像素的颜色,黑白电视机与彩色电视机两种,为了兼容两种电视机,
引入YUV格式代替RGB,其中Y表示亮度,U和V表示色差,黑白电视机只用Y信号,
而彩色电视机可由YUV转换成RGB再显示颜色。YUV格式是ITU-R的标准,也叫YCbCr.YUV是由RGB格式的数据转换得来。
Y <====> Y = 0.299 x R + 0.587 x G + 0.114 x B + 0
U <====> Cb = -0.169 x R - 0.331 x G + 0.499 x B + 128
V <====>Cr = 0.499 x R - 0.418 x G - 0.0813 x B + 128 2.YUV存储方式
<1>.YUV4:4:4格式
YUV4:4:4的数据各占用8位,每个像素都由YUV组成.相邻4个像素数据:
Y0U0V0 Y1U1V1 Y2U2V2 Y3U3V3存储时:
Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3 //即每个像素YUV的数据都会存放起来相邻的4个像素里有4个Y,4个U,4个V.<2>.YUV4:2:2格式
相邻4个像素数据:
Y0U0V0 Y1U1V1 Y2U2V2 Y3U3V3
存储时:
Y0 U0 Y1 V1 Y2 U2 Y3 V3 //每两个相邻的像素,一个丢弃V数据,一个丢弃U数据
相邻的4个像素里有4个Y,2个U,2个V,按上面存储的顺序也叫YUYV.还原成RGB数据必须需要YUV,第一个像素只有Y0U0是没法还原的,只能用下一像素的V1数据。
还原时的YUV:
[Y0U0V1] [Y1U0V1] [Y2U2V3] [Y3U2V3] //还原理论上会对图像的质量有影响的,人眼看不出来.<3&
FFmpeg之YUV420排列原理(二十三)相关推荐
- 观察者模式 Observer 发布订阅模式 源 监听 行为型 设计模式(二十三)
观察者模式 Observer 意图 定义对象一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖他的对象都得到通知并自动更新. 别名:依赖(Dependents),发布订阅(Publish-Su ...
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...
- [系统安全] 二十三.逆向分析之OllyDbg动态调试复习及TraceMe案例分析
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- SAP UI5 初学者教程之二十三 - 列表控件的排序 Sort 和分组 Group 试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...
- 罗伯特扫地机器人电池如何取_周末清洁大会战 篇二十三:更换电池和清扫让iRobot 880扫地机器人焕然一新,还有更多配件来凑热闹...
周末清洁大会战 篇二十三:更换电池和清扫让iRobot 880扫地机器人焕然一新,还有更多配件来凑热闹 2018-05-19 22:29:15 22点赞 141收藏 20评论 一.前言 自从2015年 ...
- 无人驾驶汽车系统入门(二十三)——迁移学习和端到端无人驾驶
无人驾驶汽车系统入门(二十三)--迁移学习和端到端无人驾驶 前面我们介绍了神经网络和深度学习的基础知识,在本文中我们将介绍迁移学习的概念,并将迁移学习应用于端到端无人驾驶模型.一般来说,大型深层神经网 ...
- OpenCV学习(二十三) :模板匹配:matchTemplate(),minMaxLoc()
OpenCV学习(二十三) :模板匹配:matchTemplate() 1.概述 模板匹配是一种最原始.最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配 ...
- 七个千僖年数学难题与希尔伯特二十三个问题
七个千僖年数学难题与希尔伯特二十三个问题 (2011-08-01 11:04:52) 标签: 校园 分类: 工作篇 最近美国麻州的克雷(Clay)数学研究所于2000年5月24日在巴黎法兰西学院宣布了 ...
- java从入门到精通二十三(Servlet)
java从入门到精通二十三(Servlet) Servlet 说明 Servlet初步入门尝试 Servlet生命周期 Servlet方法说明和体系结构 方法说明 体系结构说明 一些优化封装 urlP ...
最新文章
- 当我们按下电源键,Android 究竟做了些什么?
- Python面试题:字节到大整数的打包与解包
- 《犯罪心理学》读书笔记(part3)--影响犯罪心理形成发展的外部因素
- 为什么只有奇次谐波_我们为什么要用UPS不间断电源?
- flex如何做响应式设计_响应式设计-您做错了!
- C#生成新浪微博短网址 示例源码
- JVM 调优 2:GC 如何判断对象是否为垃圾,三色标记算法应用原理及存在的问题?
- 删除了几个月的照片能找回么_手机删除的照片如何恢复?一招教你解决
- SpringBoot:java.lang.NullPointerException
- paip.提升开发效率--终极方法---组件化及其障碍
- 解决Steam首次安装更新缓慢 过慢 无反应的问题
- python pytz_python pytz是什么
- 牛客网在线编程Javascript输入输出
- 开放式耳机新巅峰!南卡OE Pro兼备澎湃音质、舒适佩戴、创新设计
- 装甲逆袭-NPC对话处理
- JS中的for循环解数学题
- 三维视觉论文阅读:RAFT2020双目光流
- 小程序中消息订阅与发布
- 在thinkphp5项目中使用 laravel-mix工具打包,解决95% emitting的问题
- MySQL之连接服务器