利用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 相关文章推荐
PHP魔术方法__ISSET、__UNSET使用实例
Nov 25 Python
详解Python3.1版本带来的核心变化
Apr 07 Python
Python读写Json涉及到中文的处理方法
Sep 12 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
用python写扫雷游戏实例代码分享
May 27 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
Python networkx包的实现
Feb 14 Python
python安装mysql的依赖包mysql-python操作
Jan 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
PHP 文件上传全攻略
2010/04/28 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
php中使用sftp教程
2015/03/30 PHP
php实现微信扫码支付
2017/03/26 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
jquery中load方法的用法及注意事项说明
2014/02/22 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
使用Chrome浏览器调试AngularJS应用的方法
2015/06/18 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
基于vue配置axios的方法步骤
2017/11/09 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
python爬虫 urllib模块url编码处理详解
2019/08/20 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
python 绘制正态曲线的示例
2020/09/24 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
使用数据结构给女朋友写个Html5走迷宫游戏
2019/11/26 HTML / CSS
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
简历中个人自我评价范文
2013/12/26 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
元宵晚会主持词
2014/03/25 职场文书
党员评议个人总结
2014/10/20 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
出生证明范本
2015/06/15 职场文书
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫