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

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

02-02 12:13
查看更多