利用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 del()函数用法
Mar 24 Python
Python set集合类型操作总结
Nov 07 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 Python
Python一键安装全部依赖包的方法
Aug 12 Python
python中的itertools的使用详解
Jan 13 Python
pycharm实现在子类中添加一个父类没有的属性
Mar 12 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
python requests包的request()函数中的参数-params和data的区别介绍
May 05 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 10 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
Laravel框架中VerifyCsrfToken报错问题的解决
2017/08/30 PHP
PHP后台实现微信小程序登录
2018/08/03 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
javascript StringBuilder类实现
2008/12/22 Javascript
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
Json解析的方法小结
2016/06/22 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
2016/10/08 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
vue中注册自定义的全局js方法
2019/11/15 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
Taro小程序自定义顶部导航栏功能的实现
2020/12/17 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
Vans澳大利亚官网:购买鞋子、服装及配件
2019/09/05 全球购物
希腊品牌鞋类销售网站:epapoutsia.gr
2020/03/18 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
同志主要表现材料
2014/08/21 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
团员个人年度总结
2015/02/26 职场文书
2015年七一建党节活动总结
2015/03/20 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
信息技术研修心得体会
2016/01/08 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL