【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成功!

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

相关文章
|
2月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
88 1
思科设备巡检命令Python脚本大集合
|
26天前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
15天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
94 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
11天前
|
数据采集 存储 监控
21个Python脚本自动执行日常任务(2)
21个Python脚本自动执行日常任务(2)
51 7
21个Python脚本自动执行日常任务(2)
|
1月前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
131 68
|
1天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
16 5
|
18天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
24 7
|
23天前
|
监控 数据挖掘 数据安全/隐私保护
Python脚本:自动化下载视频的日志记录
Python脚本:自动化下载视频的日志记录
|
29天前
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
1月前
|
存储 Python
Python自动化脚本编写指南
【10月更文挑战第38天】本文旨在为初学者提供一条清晰的路径,通过Python实现日常任务的自动化。我们将从基础语法讲起,逐步引导读者理解如何将代码块组合成有效脚本,并探讨常见错误及调试技巧。文章不仅涉及理论知识,还包括实际案例分析,帮助读者快速入门并提升编程能力。
64 2
下一篇
DataWorks