利用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通过正则表达式选取callback的方法
Jul 18 Python
python实现用户登录系统
May 21 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
Jun 13 Python
Python实现的简单排列组合算法示例
Jul 04 Python
Python列表(List)知识点总结
Feb 18 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
python numpy实现文件存取的示例代码
May 26 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
基于python实现把json数据转换成Excel表格
May 07 Python
Python基于callable函数检测对象是否可被调用
Oct 16 Python
Django集成MongoDB实现过程解析
Dec 01 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
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
jquery的颜色选择插件实例代码
2008/10/02 Javascript
Javascript 刷新全集常用代码
2009/11/22 Javascript
jquery 防止表单重复提交代码
2010/01/21 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
2015/09/06 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
Underscore源码分析
2015/12/30 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
video.js使用改变ui过程
2017/03/05 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
运动会通讯稿50字
2014/01/30 职场文书
出纳工作岗位责任制
2014/02/02 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android