python实现批量图片格式转换

 更新时间:2020年06月16日 11:06:45   作者:山水之间2018  
这篇文章主要为大家详细介绍了python实现批量图片格式转换的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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') 

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

相关文章

  • 如何在PyCharm中配置使用Anaconda环境

    如何在PyCharm中配置使用Anaconda环境

    这篇文章主要介绍了如何在PyCharm中配置使用Anaconda环境,图文讲解写的非常详细简单易懂,还不会的小伙伴快来看看吧
    2023-03-03
  • python多进程下实现日志记录按时间分割

    python多进程下实现日志记录按时间分割

    这篇文章主要为大家详细介绍了python多进程下实现日志记录按时间分割,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 基于Python实现二维图像双线性插值

    基于Python实现二维图像双线性插值

    双线性插值,又称为双线性内插。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。本文将用Python实现二维图像双线性插值,感兴趣的可以了解下
    2022-06-06
  • 关于python3安装pip及requests库的导入问题

    关于python3安装pip及requests库的导入问题

    小编最近快毕业了,闲着无事学习下python的内容在学习到requsets库的导入问题时遇到一些问题,通过查找相关资料问题顺利解决,今天小编把问题解决思路及注意事项分享给大家供大家参考学习
    2021-05-05
  • Django form表单与请求的生命周期步骤详解

    Django form表单与请求的生命周期步骤详解

    这篇文章主要介绍了Django-form表单与请求的生命周期,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • python中类的输出或类的实例输出为<__main__类名 object at xxxx>这种形式的原因

    python中类的输出或类的实例输出为<__main__类名 object at xxxx>这种形式的原因

    在本篇文章里小编给大家分享了关于python中类的输出或类的实例输出为何是<__main__类名 object at xxxx>这种形式,需要的朋友们可以参考下。
    2019-08-08
  • 利用Python编写一个蹭WiFi的软件

    利用Python编写一个蹭WiFi的软件

    这篇文章主要为大家详细介绍了如何利用Python编写一个简易的蹭WiFi的软件,文中的示例代码讲解详细,感兴趣的小伙伴可以学习一下
    2023-06-06
  • Python中psutil模块使用汇总

    Python中psutil模块使用汇总

    psutil模块是一个跨平台库,用于检索Python中运行进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监视、分析和限制进程资源以及管理正在运行的进程,本文给大家介绍Python中psutil模块使用汇总,感兴趣的朋友一起看看吧
    2021-12-12
  • Pycharm关于远程JupyterLab以及JupyterHub登录问题

    Pycharm关于远程JupyterLab以及JupyterHub登录问题

    这篇文章主要介绍了Pycharm关于远程JupyterLab以及JupyterHub登录问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Python 模拟登陆的两种实现方法

    Python 模拟登陆的两种实现方法

    这篇文章主要介绍了Python 模拟登陆的两种实现方法的相关资料,这里提供两种方法一个是普通写法写的,另外一个是基于面向对象写的,模拟登录成功后才可能抓取内容,需要的朋友可以参考下
    2017-08-08

最新评论