利用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中from module import * 的一个坑
Jul 20 Python
python分析nignx访问日志脚本分享
Feb 26 Python
Python解惑之True和False详解
Apr 24 Python
python使用openpyxl库修改excel表格数据方法
May 03 Python
python适合人工智能的理由和优势
Jun 28 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
python中eval与int的区别浅析
Aug 11 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
python pygame实现球球大作战
Nov 25 Python
使用Python串口实时显示数据并绘图的例子
Dec 26 Python
Jupyter Notebook输出矢量图实例
Apr 14 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 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自动加载的两种实现方法
2010/06/21 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
深入解析php中的foreach函数
2013/08/31 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
PHP+jQuery+Ajax实现用户登录与退出
2015/04/27 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
PHP中->和=>的含义及使用示例解析
2020/08/06 PHP
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
python中set常用操作汇总
2016/06/30 Python
python读取excel表格生成erlang数据
2017/08/26 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
Django框架反向解析操作详解
2019/11/28 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
amazeui树节点自动展开折叠面板并选中第一个树节点的实现
2020/08/24 HTML / CSS
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
英国高街电视:High Street TV
2018/05/22 全球购物
android面试问题与答案
2016/12/27 面试题
大学生求职推荐信
2013/11/27 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
企业标语大全
2014/07/01 职场文书
英语教师求职信范文
2015/03/20 职场文书
Spring Bean是如何初始化的详解
2022/03/22 Java/Android
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js