• Python 图片格式的转换和尺寸修改


    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('
    >>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
    ')
        sys.stdout.write('Convert Over!
    ')
        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)
  • 相关阅读:
    运算符
    变量
    JSP EL表达式使用
    MySQL JDBC 连接数据库基本操作
    一个带标号的CSS文章列表写法
    CSS图片列表
    YUI3 CSS
    Ubuntu 13.10 64位 无法 安装 ia32-libs 解决办法
    [转]编译Android源代码常见错误解决办法
    js 复制对象
  • 原文地址:https://www.cnblogs.com/zhuxiangru/p/10620814.html
Copyright © 2020-2023  润新知