由于项目的需求,需要制作不同尺寸图像的脚本,为方便其他同事使用,所以我制作了一个ini文件,方便修改配置参数,如果方便使用,也可以按照个人喜好打包为exe。
一、脚本使用方法:
(1)复制下面resize.py代码,安装好代码中所需要的第三方库;
(2)在resize.py目录下新建一个记事本,将config.ini中的内容复制进去,并将记事本扩展名修改为.ini;
(3)运行resize.py;
(4)运行成功后,目录下会出现Image文件夹(用来保存等比缩放后的图像),image.log文件(脚本的运行日志)
二、脚本使用说明:
(1)使用脚本前,修改脚本工程中的config.ini中的配置信息,主要包括: 要转换的图片所在的文件夹路径(保证文件夹下只有图片),配置要缩放的图像比例;
(2)本脚本用于生成等比缩放的图像,自动生成image文件夹,并保存在image文件夹中;
(3)使用脚本前,需要确保删除脚本工程下的image文件夹;
(4)运行py文件启动脚本;
(5)脚本自动生成log,用于查看脚本的执行及报错情况;
三、config.ini文件如下:
[setting]
;图像所在文件夹路径
image_folder = C:\Users\mech-mind_lcl\Desktop\tupian
;图像等比缩放百分比(例:0.8表示缩放原图像的0.8倍)
Image_scaling_percentage = 2
四、resize.py代码如下:
import os from PIL import Image import configparser import time class Script(object): def __init__(self): conf = configparser.ConfigParser() conf.read(r"config.ini", encoding="utf-8") self.image_folder = conf.get("setting", "image_folder") self.Image_scaling_percentage = conf.get("setting", "Image_scaling_percentage") self.BASE_DIR = "image" def judgement(self): """ 配置检查模块 """ if not os.path.isdir(self.image_folder): print(self.logfile("图像路径不正确请重新输入!")) return False if not os.path.exists(self.BASE_DIR): os.mkdir(self.BASE_DIR) else: print(self.logfile("脚本路径存在image文件夹,请删除后运行脚本!")) return False return True def resize(self): """ resize图像模块 """ if self.judgement(): for i in os.listdir(self.image_folder): image_path = self.image_folder + os.sep + i img = Image.open(image_path) width = int(img.width * float(self.Image_scaling_percentage)) height = int(img.height * float(self.Image_scaling_percentage)) i2 = img.resize((width, height)) new_image_path = self.BASE_DIR + os.sep + i i2.save(new_image_path) print(self.logfile("resize成功!resize像素尺寸为({}*{}),保存路径为:{}".format(width, height, new_image_path))) print(self.logfile("本批图像resize成功!")) def logfile(self, text): """ 日志模块 """ with open('image.log', 'a+', encoding='utf-8') as f: t = time.strftime('%y-%m-%d %H:%M:%S') text = t + " " + text + '\n' f.write(text) f.close() return text if __name__ == "__main__": a = Script() a.resize()
五、运行成功后:Image.log显示
22-05-07 16:23:57 脚本路径存在image文件夹,请删除后运行脚本! 22-05-07 16:29:59 图像resize成功!像素尺寸为(2073*1555),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-119.jpg 22-05-07 16:29:59 图像resize成功!像素尺寸为(2073*1555),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-134.jpg 22-05-07 16:29:59 图像resize成功!像素尺寸为(2073*1555),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-150.jpg 22-05-07 16:30:26 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-103.jpg 22-05-07 16:30:26 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-119.jpg 22-05-07 16:30:26 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-134.jpg 22-05-07 16:30:26 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-150.jpg 22-05-07 16:40:56 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-103.jpg 22-05-07 16:40:56 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-119.jpg 22-05-07 16:40:56 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-134.jpg 22-05-07 16:40:57 图像resize成功!像素尺寸为(5184*3888),保存路径为:D:\pythonProject\图像resize脚本\image\210809-110507-150.jpg 22-05-07 16:40:57 本批图像resize成功!