zhuxiangru
import cv2
import os
import numpy as np
from PIL import Image
import shutil
import sys

image_size=144
#改变之后的图片尺寸

source_path=os.getcwd()+"/image/"#等待转换的图片存放地址
types=\'png\' #转换后的图片格式
target_path=os.getcwd()+"/changepng/"#转换过格式的图片存放地址
final_path=os.getcwd()+"/final/"转换过格式和尺寸的图片存放地址

#如果没有转换后的图片存放文件夹,就创建对应的文件夹
if not os.path.exists(target_path):
    os.makedirs(target_path)
if not os.path.exists(final_path):
    os.makedirs(final_path)

#转变图片格式的函数
def changepng(source_path,types):
    files = []
    image_list=os.listdir(source_path)
    #print(image_list)
    files = [os.path.join(source_path,_) for _ in image_list]
    for index,jpg in enumerate(files):
        if index > 1000:
            break
        try:
            sys.stdout.write(\'\r>>Converting image %d/100000 \' % (index))
            sys.stdout.flush()
            im = Image.open(jpg)
            png = os.path.splitext(jpg)[0] + "." + types
            im.save(png)
            shutil.move(png,target_path)
        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()

#转化图片尺寸的函数
def changesize(source_path):
    image_lists=os.listdir(source_path)
    i=0
    for file in image_lists:
        i=i+1
        print(os.getcwd()+"/"+file)
        split=os.path.splitext(file)
        filename,type=split
        image_file = source_path+file
        image_source=cv2.imdecode(np.fromfile(image_file,dtype=np.uint8),cv2.IMREAD_UNCHANGED)
        image = cv2.resize(image_source, (image_size, image_size))
        cv2.imencode(\'.png\',image)[1].tofile(final_path+file)


changepng(source_path,types)
changesize(target_path)

 

分类:

技术点:

相关文章:

  • 2021-08-21
  • 2021-11-27
  • 2021-12-23
  • 2021-09-16
  • 2021-06-23
  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-27
  • 2021-11-27
  • 2021-10-18
  • 2021-11-14
  • 2021-07-23
  • 2021-06-16
  • 2022-12-23
相关资源
相似解决方案