利用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常见数据结构详解
Jul 24 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
python去除文件中重复的行实例
Jun 29 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
python多任务及返回值的处理方法
Jan 22 Python
python Django编写接口并用Jmeter测试的方法
Jul 31 Python
python中for in的用法详解
Apr 17 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
python实现简易版学生成绩管理系统
Jun 22 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
Django如何重置migration的几种情景
Feb 24 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
[转帖]PHP世纪万年历
2006/12/06 PHP
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
PHP header函数分析详解
2011/08/06 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
js 编写规范
2010/03/03 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python3 socket同步通信简单示例
2017/06/07 Python
Python编写登陆接口的方法
2017/07/10 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
Python chardet库识别编码原理解析
2020/02/18 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
keras小技巧——获取某一个网络层的输出方式
2020/05/23 Python
会计学应届毕业生推荐信
2013/11/04 职场文书
优秀驾驶员先进事迹材料
2014/05/04 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
房屋产权证明书
2015/06/19 职场文书
信息简报范文
2015/07/21 职场文书