利用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数组条件过滤filter函数使用示例
Jul 22 Python
跟老齐学Python之传说中的函数编写条规
Oct 11 Python
Python中常用操作字符串的函数与方法总结
Feb 04 Python
Python 专题一 函数的基础知识
Mar 16 Python
Python Pillow Image Invert
Jan 22 Python
Python学习笔记之图片人脸检测识别实例教程
Mar 06 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
Django实现文件上传下载功能
Oct 06 Python
Python 2种方法求某个范围内的所有素数(质数)
Jan 31 Python
python实现连连看游戏
Feb 14 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
Python中的面向接口编程示例详解
Jan 17 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
CI(CodeIgniter)框架配置
2014/06/10 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
Bootstrap table中toolbar新增条件查询及refresh参数使用方法
2018/05/18 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
微信小程序Page中data数据操作和函数调用方法
2019/05/08 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
Pycharm 字体大小调整设置的方法实现
2019/09/27 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
常见的软件开发流程有哪些
2015/11/14 面试题
应届毕业生求职信范文
2014/05/08 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
车辆委托书范本
2014/10/05 职场文书
学生检讨书
2015/01/27 职场文书
元宵节寄语大全
2015/02/27 职场文书
2015教师节通讯稿
2015/07/20 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
MySQL常用慢查询分析工具详解
2022/08/14 MySQL