python实现批量图片格式转换


Posted in Python onJune 16, 2020

本文实例为大家分享了python实现批量格式转换的具体代码,供大家参考,具体内容如下

深度学习过程中总是绕不开数据集的制作,有时候实际图片格式或大小可能与需要关心的图片信息不一致,那么我们只能手动做好数据预处理,再进行training dataset.现在将介绍最简单的格式转换问题。可以支持批量图片任意格式转换。

直接上代码:

# 将jpg格式转位png 
import os 
from PIL import Image 
import shutil 
import sys 
 
# Define the input and output image 
output_dirHR = '../data/Mosaic_HR/' 
output_dirLR = '../data/Mosaic_LR/' 
if not os.path.exists(output_dirHR): 
 os.mkdir(output_dirHR) 
if not os.path.exists(output_dirLR): 
 os.mkdir(output_dirLR) 
 
 
 
def image2png(dataset_dir,type): 
 files = [] 
 image_list = os.listdir(dataset_dir) 
 files = [os.path.join(dataset_dir, _) for _ in image_list] 
 for index,jpg in enumerate(files): 
  if index > 100000: 
   break 
  try: 
   sys.stdout.write('\r>>Converting image %d/100000 ' % (index)) 
   sys.stdout.flush() 
   im = Image.open(jpg) 
   png = os.path.splitext(jpg)[0] + "." + type 
   im.save(png) 
   # 将已经转换的图片移动到指定位置 
   ''''' 
   if jpg.split('.')[-1] == 'jpg': 
    shutil.move(png,output_dirLR) 
   else: 
    shutil.move(png,output_dirHR) 
   ''' 
   shutil.move(png, output_dirHR) 
  except IOError as e: 
   print('could not read:',jpg) 
   print('error:',e) 
   print('skip it\n') 
 
 sys.stdout.write('Convert Over!\n') 
 sys.stdout.flush() 
 
 
 
if __name__ == "__main__": 
 current_dir = os.getcwd() 
 print(current_dir) # /Users/gavin/PycharmProjects/pygame 
 data_dir = '/home/gavin/MyProject/python/nesunai_faces/' 
 
 image2png(data_dir,'png')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现类继承实例
Jul 04 Python
跟老齐学Python之编写类之四再论继承
Oct 11 Python
Python基于PycURL自动处理cookie的方法
Jul 25 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
python实现图片文件批量重命名
Mar 23 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
Django之无名分组和有名分组的实现
Apr 16 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
Jul 09 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
python类共享变量操作
Sep 03 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
Dec 10 Python
python脚本实现验证码识别
Jun 07 #Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 #Python
使用Python处理Excel表格的简单方法
Jun 07 #Python
python实现验证码识别功能
Jun 07 #Python
通过Pandas读取大文件的实例
Jun 07 #Python
Pandas:DataFrame对象的基础操作方法
Jun 07 #Python
Python中偏函数用法示例
Jun 07 #Python
You might like
追求程序速度,而不是编程的速度
2008/04/23 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
JS 在指定数组中随机取出N个不重复的数据
2014/06/10 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
2020/09/20 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
Java基础知识面试要点
2016/07/29 面试题
服装设计师职业生涯规划范文
2014/02/28 职场文书
高考备战决心书
2014/03/11 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
好人好事演讲稿
2014/09/01 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
春节慰问信范文
2015/02/15 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
postgresql中如何执行sql文件
2023/05/08 PostgreSQL