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

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

相关文章
|
11月前
|
JSON 缓存 API
深度分析淘宝API接口,用Python脚本实现
本内容深入解析淘宝开放平台 API 的接口设计与 Python 实现,涵盖接口体系、认证机制、签名规则及限流策略,并提供完整的 Python 调用框架,适用于电商系统对接与自动化运营。
|
11月前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
11月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
11月前
|
JSON API 数据安全/隐私保护
【干货满满】分享淘宝API接口到手价,用python脚本实现
淘宝开放平台通过API可获取商品到手价,结合商品详情与联盟接口实现优惠计算。需使用AppKey、AppSecret及会话密钥认证,调用taobao.tbk.item.info.get接口获取最终价格。代码示例展示签名生成与数据解析流程。
|
11月前
|
JSON API 数据安全/隐私保护
深度分析苏宁API接口,用Python脚本实现
苏宁易购开放平台提供覆盖商品、订单、库存、门店等零售全链路的API服务,采用RESTful架构与“AppKey+AppSecret+签名”认证机制,支持线上线下一体化业务处理。本文详解其API特性、认证流程及Python调用实现。
|
11月前
|
自然语言处理 安全 API
深度分析洋码头API接口,用Python脚本实现
洋码头是国内知名跨境电商平台,专注于海外商品直购。本文基于其API的通用设计逻辑,深入解析了认证机制、签名规则及核心接口功能,并提供了Python调用示例,适用于商品与订单管理场景。
|
11月前
|
JSON API 数据格式
深度分析易贝API接口,用Python脚本实现
本文深度解析了eBay开放平台的RESTful API接口体系,涵盖其核心功能、OAuth 2.0认证机制、请求规范及限流策略,并基于Python构建了完整的API调用框架。内容包括商品与订单管理接口的实现逻辑、认证流程、错误处理机制及实战调用示例,适用于跨境电商系统开发与多平台集成。
|
11月前
|
JSON 监控 BI
深度分析亚马逊API接口,用Python脚本实现
本内容深度解析亚马逊SP-API接口体系,涵盖商品、订单、库存等核心功能域,详解LWA认证、AWS签名及Python调用实现,适用于跨境电商系统开发与集成。
|
11月前
|
API Python 数据格式
深度分析京东API接口,用Python脚本实现
深度分析京东API接口,用Python脚本实现
|
11月前
|
JSON API 开发者
深度分析微店API接口,用Python脚本实现
微店作为知名移动端电商平台,其开放平台提供丰富的API接口,支持商品、订单、客户及营销管理。本文分析其API核心特性,并提供Python调用示例,助力开发者快速集成业务功能。

推荐镜像

更多