利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法


Posted in Python onJanuary 08, 2019

由于跑编码的需要,所以需要制作一个.yuv格式的图片数据集,但是手头只有.jpg格式的,故记录下转换过程。其他图片格式也可以,代码里修改一下就行。

①安装ffmpeg

官网(各种版本):ffmepg官网

window版:https://ffmpeg.zeranoe.com/builds/

②安装ffmpeg的python3接口ffmpy3

在命令行中输入以下命令:

pip install ffmpy3

③将下载好的windows版解压,把ffmpeg.exe复制到你将要跑python代码的文件夹里

④python代码如下:

# -*- coding: utf-8 -*-
import os
from PIL import Image
from ffmpy3 import FFmpeg
 
in_jpgDatasetPath = 'I:/VOC/trainval'
out_yuvDatasetPath = 'I:/VVC/loop/yuvdataset'
 
piclist = os.listdir(in_jpgDatasetPath)
for pic in piclist:
 picname = pic.split('.')[0]
 picpath = os.path.join(in_jpgDatasetPath,pic)
 img = Image.open(picpath)
 in_wid,in_hei = img.size
 out_wid = in_wid//16*16
 out_hei = in_hei//16*16
 size = '{}x{}'.format(out_wid,out_hei) #输出文件会缩放成这个大小
 outname = out_yuvDatasetPath + '/' + picname + '_'+size+ '.yuv'
 
 ff = FFmpeg(inputs={picpath:None},
    outputs={outname:'-s {} -pix_fmt yuv420p'.format(size)})
 print(ff.cmd)
 ff.run()

以上这篇利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用三角迭代计算圆周率PI的方法
Mar 20 Python
在Python编程过程中用单元测试法调试代码的介绍
Apr 02 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
深入探究Django中的Session与Cookie
Jul 30 Python
Python进阶之尾递归的用法实例
Jan 31 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
Python函数中不定长参数的写法
Feb 13 Python
Python爬虫学习之翻译小程序
Jul 30 Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 Python
Python 如何对文件目录操作
Jul 10 Python
七个Python必备的GUI库
Apr 27 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
Jan 08 #Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 #Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 #Python
对Python+opencv将图片生成视频的实例详解
Jan 08 #Python
Python中的heapq模块源码详析
Jan 08 #Python
python使用PIL模块获取图片像素点的方法
Jan 08 #Python
python 获取图片分辨率的方法
Jan 08 #Python
You might like
PHP4实际应用经验篇(9)
2006/10/09 PHP
php 删除记录实现代码
2009/03/12 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
php中导出数据到excel时数字变为科学计数的解决方法
2013/02/03 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
快速掌握jQuery插件WebUploader文件上传
2016/11/07 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
Python的组合模式与责任链模式编程示例
2016/02/02 Python
python3注册全局热键的实现
2020/03/22 Python
python3中布局背景颜色代码分析
2020/12/01 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
公关关系专员的自我评价分享
2013/11/20 职场文书
化学教学随笔感言
2014/02/19 职场文书
保险专业自荐信范文
2014/02/20 职场文书
2014年法院工作总结
2014/11/24 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书