【Python】保存不同尺寸(等比缩放)图像的脚本

简介: 【Python】保存不同尺寸(等比缩放)图像的脚本

由于项目的需求,需要制作不同尺寸图像的脚本,为方便其他同事使用,所以我制作了一个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成功!

如果对您有帮助,点个赞+关注(有打赏的好大哥也中)吧,一起学习一起加油!!!


相关文章
|
14天前
|
机器学习/深度学习 算法 TensorFlow
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
动物识别系统。本项目以Python作为主要编程语言,并基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集4种常见的动物图像数据集(猫、狗、鸡、马)然后进行模型训练,得到一个识别精度较高的模型文件,然后保存为本地格式的H5格式文件。再基于Django开发Web网页端操作界面,实现用户上传一张动物图片,识别其名称。
45 1
动物识别系统Python+卷积神经网络算法+TensorFlow+人工智能+图像识别+计算机毕业设计项目
|
8天前
|
Python
用python转移小文件到指定目录并压缩,脚本封装
这篇文章介绍了如何使用Python脚本将大量小文件转移到指定目录,并在达到大约250MB时进行压缩。
23 2
|
14天前
|
运维 Prometheus 监控
自动化运维的魔法:使用Python脚本简化日常任务
【8月更文挑战第50天】在数字化时代的浪潮中,自动化运维成为提升效率、减少人为错误的利器。本文将通过一个实际案例,展示如何利用Python脚本实现自动化部署和监控,从而让运维工作变得更加轻松和高效。我们将一起探索代码的力量,解锁自动化运维的神秘面纱,让你的工作环境焕然一新。
129 81
|
13天前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
65 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
13天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
60 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
4天前
|
机器学习/深度学习 人工智能 运维
自动化运维的魔法:如何利用Python脚本提升工作效率
【9月更文挑战第29天】在数字时代的浪潮中,IT运维人员面临着前所未有的挑战和机遇。本文将通过深入浅出的方式,介绍自动化运维的基本概念、核心价值以及使用Python脚本实现自动化任务的方法。我们将从实际案例出发,探讨如何利用Python简化日常的系统管理任务,提高运维效率,并展望自动化运维的未来趋势。无论你是初学者还是有经验的运维专家,这篇文章都将为你开启一扇通往高效工作方式的大门。
9 2
|
7天前
|
Web App开发 存储 安全
Python编写脚本,打开浏览器输入网址,自动化登陆网站
Python编写脚本,打开浏览器输入网址,自动化登陆网站
13 4
|
9天前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【9月更文挑战第23天】在本文中,我们将探索如何通过编写Python脚本来自动化常见的系统管理任务,从而提升效率并减少人为错误。文章将介绍基础的Python编程概念、实用的库函数,以及如何将这些知识应用于创建有用的自动化工具。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供有价值的见解和技巧,帮助你在日常工作中实现自动化。
|
12天前
|
运维 监控 安全
自动化运维:使用Python脚本简化日常任务
【9月更文挑战第21天】在快速迭代的软件开发环境中,运维工作往往因为重复性高、易出错而被诟病。本文将介绍如何通过编写简单的Python脚本来自动化这些日常任务,从而提升效率和减少错误。我们将以实际案例为基础,展示如何从零开始构建一个自动化脚本,并解释其背后的原理。文章旨在启发读者思考如何利用编程技能来解决工作中的实际问题,进而探索技术与日常工作流程结合的可能性。
|
7天前
|
Python Windows
python之windows脚本启动bat
python之windows脚本启动bat
下一篇
无影云桌面