利用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定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
python中定义结构体的方法
Mar 04 Python
Python使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
python查找指定具有相同内容文件的方法
Jun 28 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 Python
flask使用session保存登录状态及拦截未登录请求代码
Jan 19 Python
python取代netcat过程分析
Feb 10 Python
基于循环神经网络(RNN)的古诗生成器
Mar 26 Python
python 定义n个变量方法 (变量声明自动化)
Nov 10 Python
解决pycharm运行出错,代码正确结果不显示的问题
Nov 30 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
Python爬虫网络请求之代理服务器和动态Cookies
Apr 12 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
session 的生命周期是多长
2006/10/09 PHP
php array_slice函数的使用以及参数详解
2008/08/30 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
在PHP中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
PHP如何使用Memcached
2016/04/05 PHP
深入理解PHP中的count函数
2016/05/31 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
让iframe子窗体取父窗体地址栏参数(querystring)
2009/10/13 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
js实现移动端图片滑块验证功能
2020/09/29 Javascript
Python实现的简单发送邮件脚本分享
2014/11/07 Python
python实现在windows服务中新建进程的方法
2015/06/30 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python socket 套接字实现通信详解
2019/08/27 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
python中wx模块的具体使用方法
2020/05/15 Python
浅析Python 多行匹配模式
2020/07/24 Python
怎样填写就业意向
2014/04/02 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
2016教师国培研修感言
2015/12/08 职场文书
学生安全责任协议书
2016/03/22 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫