在网上可以很容易的找到YUV420的视频序列文件,这些文件都以.yuv作为后缀,文件存储的是一段视频的yuv420图像格式的一连串数据。文件中不包含视频和帧的尺寸及其他信息,只是纯图像数据。

首先,先阐释一下YUV420的采样格式。

其实并不是如字面那样的Y:U:V = 4:2:0,4:2:0并不意味着只有Y(Cb)而没有V(Cr)分量。420是对于每一条扫描线而言的,比如第一行扫描线的Y:U:V = 4:2:0,第二条扫描线的Y:U:V = 4:0:2。对于整幅图的采样来说,Y:U:V = 4:1:1。

如下图:


对于第一行来说,只有U,没有V;对于第二行来说,只有V,没有U;对于整幅图而言,Y:U:V = 4:1:1。

理解了420的采样格式后,就能够很容易地理解序列文件的存储。对于一帧图像来说,文件先写入全部的Y,再写入全部的U,再写入全部的V。值得注意的是,文件以左下角的像素点为起点,从左往右,从下往上写入。写完一帧接着再写下一帧。

另外,因为文件中并不包含尺寸信息,因此没有办法从文件本身获取。一般来说,可以通过文件名来进行判断。常见的几种尺寸如下例:

filename_pal.yuv               720x576
filename _vga.yuv             640x480
filename _cif.yuv               352x288
filename _qcif.yuv             176x144

了解了以上信息后,就可以读出每一帧图像的数据,从而还原一帧图像。还原图像时,如图中每四个像素共用一个U,一个V。

接下来还可以将YUV转成RGB,并将数据写入位图文件,就可以通过一般的图像工具打开了。

附:YUV转RGB转换关系:

r = 1.164*(y-16) + 1.596*(cr-128);

g = 1.164*(y-16) - 0.813*(cr-128) - 0.392*(cb-128);

b = 1.164*(y-16) + 2.017*(cb-12

YUV420视频序列文件研究相关推荐

  1. 基于FFMPEG 的跨平台视频编解码研究

    第33卷 第11期 2011年11月 武 汉 理 工 大 学 学 报 JOURNALOF WUHANUNIVERSITYOFTECHNOLOGY Vol.33 No.11 췍췍췍췍췍췍췍췍췍췍췍췍췍췍 ...

  2. 使用FFmpeg类库实现YUV视频序列编码为视频

    搞视频处理的朋友肯定比较熟悉YUV视频序列,很多测试库提供的视频数据都是YUV视频序列,我们这里就用用YUV视频序列来做视频.关于YUV视频序列,我就不多讲了,可以看书学习,通常的视频序列都是YUV4 ...

  3. ICCV 2019 | 基于无标签单目视频序列的单帧三维人体姿态估计算法

    作者丨王璇 学校丨西安交通大学 研究方向丨人体姿态估计 我们都知道,要训练一个准确的三维人体姿态估计深度神经网络,需要大量有三维标签的数据,越多越好.而在现实生活中,我们很难得到很多有标签数据,而无标 ...

  4. 视频擦除方向研究(生成技术的一类)

    原文连接:研究笔记 体验版的模型已开源:GitHub - a312863063/Video-Auto-Wipe: Erase specific content from the video that ...

  5. 衡量视频序列特性的TI(时间信息)和SI(空间信息)

    2019独角兽企业重金招聘Python工程师标准>>> 做视频评价试验的时候,需要根据一定的条件选择有代表性的视频序列.ITU-R BT.1788建议使用时间信息(TI,Tempor ...

  6. 综述丨视频超分辨率研究方法

    看点 近年来,深度学习在很多领域取得了进展,其中包括视频超分辨率任务.本文是第一个也是唯一一个视频超分方向的综述,主要看点如下: 1)回顾了基于深度学习的视频超分技术的研究进展: 2)提出了一种基于深 ...

  7. 目标跟踪:在视频序列中跟踪特定对象的位置和状态

    目录 1. 概述 2. 数据准备 3. 特征提取 4. 卡尔曼滤波器 5. 目标跟踪 6. 改进和扩展 1. 概述 在这个项目中,我们将使用预训练的 CNN 模型作为特征提取器,提取视频帧中的目标对象 ...

  8. 菜鸟小白初次下载Pr如何配置,以及普通文件、序列文件、psd文件的导入方法

    目录 一.Pr基础设置 新建项目设置 新建序列设置 二.Pr导入素材 第一种,普通素材 例如:图片.音频 第二种,序列文件 第三种,psd文件 三.手写笔记 1.pr是一款非线性编辑软件(可以简单理解 ...

  9. 利用FFmpeg制作视频序列

    前言 本文介绍了利用FFmpeg进行视频测试序列制作的方法.所谓测试序列就是将若干个不同场景的视频片段,按照不同的分辨率.码率.编码方法等进行处理,然后拼接成一条长视频,供测试者打分.一般包括以下几个 ...

最新文章

  1. python获取登录按钮_python爬虫24 | 搞事情了,用 Appium 爬取你的微信朋友圈。
  2. mysql同步出现错误
  3. 操作系统的进程状态变迁图_1.操作系统是干什么的?
  4. Oracle语句总结
  5. Unable to resolve target 'android-19'
  6. mysql的骚操作:自增长的字段同时插入到另一个字段
  7. mysql不能存字母,使用不常見的字母/符號時,MySql數據庫不能正確存儲數據
  8. c#(.net)对dbf(arcgis shp属性表)的操作 (验证版)
  9. 史上最难吃系列,肯德基就不能好好做鸡吗?
  10. 防止按钮连续重复点击
  11. 通过CImageList加载图标 报错
  12. Java - HuTool 使用 PhoneUtil、ReUtil等工具类(三)
  13. 用python查询生成国内法定节假日安排
  14. 面向对象的三大特征:封装、继承和多态的简单概述
  15. 笃志前行 锐意进取 | 中创算力在区块链比赛中展现新风采
  16. spring boot 访问路径404是会转到/error路径,倒是拦截器失效
  17. CCNA学习笔记#01
  18. 公众号h5获取手机号权限_微信公众号h5获取用户openId的方法和步骤
  19. Linux下安装配置Cobra教程
  20. Apache ab -- 工具简介

热门文章

  1. 谷歌google现在有没有好做的外链平台?
  2. 环境卫生学-练习题(有答案)
  3. 19 个接私活平台,你有技术,就有钱!
  4. Shopee卖家如何快速选品铺货?哪个上货软件好用?
  5. 清华大学计算机系1979,清华大学1979级毕业30周年纪念大会召开
  6. 关于cc的上传视频,视频回放功能
  7. 开机cmd窗口自动打开dinoklafbzor的解决方法
  8. HTML小项目之双色球
  9. C语言中-是什么意思啊?
  10. AnyDesk on macOS 遇见连接不上的问题