使用python脚本批处理图片格式、尺寸大小(width&height&dpi)、内存大小

注:1、首先下载VScode,配置python编译环境

        2、配置安装PIL模块  pip install pillow

目录

一、PIL模块安装教程

1、找到自己python安装目录进行以下安装依赖操作

​编辑

2、更新pip

3、安装PIL模块

4、检查安装是否成功

​编辑

二、python代码

1、修改图像大小(width&height&dpi)

2、修改图像内存大小

​编辑​编辑

3、修改图像dpi

修改完成


一、PIL模块安装教程

1、找到自己python安装目录进行以下安装依赖操作

2、更新pip

python -m pip install --upgrade pip

3、安装PIL模块

pip install pillow

4、检查安装是否成功

pip list

二、python代码

1、修改图像大小(width&height&dpi)

首先在桌面创建处理后的文件夹用来存储处理过的图片

原图片大小

import os
from PIL import Image

input_folder = '原图片存放文件夹的位置'
output_folder = '修改后图片存放文件夹的位置'

# 确保输出文件夹存在,如果不存在则创建
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 遍历文件夹中的所有文件
# 图片多种格式处理方法 if filename.lower().endswith(('.jpg', '.JPG','.png','.jpeg')):
for filename in os.listdir(input_folder):
    if filename.lower().endswith(('.jpg', '.JPG')):
        # 打开图片
        image_path = os.path.join(input_folder, filename)
        image = Image.open(image_path)

        # 修改长和宽
        new_width = 修改成自己想要的长度
        new_height = 修改成自己想要的长度
        resized_image = image.resize((new_width, new_height))

        # 修改DPI
        dpi = (修改成自己想要的dpi, 修改成自己想要的dpi)  # 设置为300dpi
        resized_image.info['dpi'] = dpi

        # 保存修改后的图片到输出文件夹
        output_path = os.path.join(output_folder, filename)
        resized_image.save(output_path)

print("所有图片修改完成")

修改后图片大小

2、修改图像内存大小

首先在桌面创建处理后的文件夹用来存储处理过的图片。在第一步的基础上进行更改内存大小。

import os
from PIL import Image

input_folder = '第一步操作后图片的存放文件夹位置'
output_folder = '修改内存大小后图片的存放文件夹位置'

# 确保输出文件夹存在,如果不存在则创建
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 遍历文件夹中的所有文件
for filename in os.listdir(input_folder):
    if filename.lower().endswith(('.jpg', '.jpeg')):
        # 打开图片
        image_path = os.path.join(input_folder, filename)
        image = Image.open(image_path)

        # 控制图片大小在15-20kb范围内
        target_size_kb = 设置成想要的内存大小  # 目标大小为15kb
        max_quality = 100  # 设置最大质量
        while True:
            # 保存图片到临时文件
            temp_output_path = 'temp_output.jpg'
            image.save(temp_output_path, optimize=True, quality=max_quality)

            # 检查文件大小
            temp_file_size = os.path.getsize(temp_output_path)
            if temp_file_size <= target_size_kb * 1024 or max_quality == 0:
                break
            else:
                max_quality -= 1  # 逐渐降低质量直到满足大小要求

        # 移动图片到输出文件夹
        output_path = os.path.join(output_folder, filename)
        os.rename(temp_output_path, output_path)

print("所有图片处理完成")

3、修改图像dpi

首先在桌面创建处理后的文件夹用来存储处理过的图片。在第二步的基础上再次进行更改dpi。此时修改过后图片的尺寸大小、内存大小不会再发生改变了,我们开始进行修改图片的dpi。

import os
from PIL import Image

input_folder = '修改内存大小后图片的文件夹存放位置'
output_folder = '修改后图片的文件存放位置'

# 确保输出文件夹存在,如果不存在则创建
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 遍历文件夹中的所有文件
for filename in os.listdir(input_folder):
    if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
        # 打开图片
        image_path = os.path.join(input_folder, filename)
        image = Image.open(image_path)

        # 修改DPI
        dpi = (改成自己想要的dpi, 改成自己想要的dpi)  # 设置为350dpi
        if 'dpi' in image.info:
            del image.info['dpi']
        image.info['dpi'] = dpi

        # 保存修改后的图片到输出文件夹
        output_path = os.path.join(output_folder, filename)
        image.save(output_path, dpi=dpi)

print("所有图片修改完成")

修改完成

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用Python中的Pillow库来批量裁剪图片大小为固定尺寸。以下是一个示例脚本: ```python from PIL import Image import os def resize_images(input_dir, output_dir, size): for filename in os.listdir(input_dir): if not filename.endswith('.jpg'): continue with Image.open(os.path.join(input_dir, filename)) as im: im = im.resize(size) im.save(os.path.join(output_dir, filename)) if __name__ == '__main__': input_dir = 'input_images' output_dir = 'output_images' size = (256, 256) resize_images(input_dir, output_dir, size) ``` 以上代码中,`input_dir`表示输入图片所在的文件夹路径,`output_dir`表示输出图片所在的文件夹路径,`size`表示需要裁剪的尺寸大小。代码遍历`input_dir`下的所有`.jpg`文件,将其按照指定的尺寸进行裁剪,保存到`output_dir`中。需要注意的是,代码只对`.jpg`文件进行处理,如需处理其他格式文件,需要修改代码中的判断条件。 ### 回答2: 编写一个Python脚本,可以批量裁剪图片大小为固定尺寸开发这个脚本需要使用Python的图像处理库PIL(Python Imaging Library)。首先,需要安装PIL库,可以通过运行以下命令来安装: ``` pip install pillow ``` 安装完成后,可以创建一个Python脚本文件,并导入PIL库的相关模块: ```python from PIL import Image import os ``` 接下来,定义一个函数来实现图片裁剪操作: ```python def crop_images(input_dir, output_dir, width, height): # 判断输出目录是否存在,如果不存在则创建 if not os.path.exists(output_dir): os.makedirs(output_dir) # 遍历输入目录下的所有图片文件 for filename in os.listdir(input_dir): if filename.endswith(".jpg") or filename.endswith(".png"): # 构建图片的完整路径 input_path = os.path.join(input_dir, filename) # 打开图片 image = Image.open(input_path) # 裁剪图片为固定尺寸 cropped_image = image.resize((width, height), Image.ANTIALIAS) # 构建输出路径 output_path = os.path.join(output_dir, filename) # 保存裁剪后的图片 cropped_image.save(output_path) ``` 在这个函数中,首先判断输出目录是否存在,如果不存在则创建。然后,遍历输入目录下的所有图片文件,对每一张图片进行裁剪操作,并保存到输出目录中。 最后,调用这个函数来进行批量裁剪: ```python input_dir = "input" output_dir = "output" width = 200 height = 200 crop_images(input_dir, output_dir, width, height) ``` 在这个示例中,输入目录为"input",输出目录为"output",裁剪尺寸为200x200像素。你可以根据实际需求修改输入目录、输出目录和裁剪尺寸等参数。 这样,就完成了一个可以批量裁剪图片大小为固定尺寸Python脚本。可以将需要裁剪的图片放在输入目录中,运行脚本后,裁剪后的图片将保存到输出目录中。 ### 回答3: 用Python编写一个脚本来批量裁剪图片大小为固定尺寸可以使用PIL库(Python Imaging Library)来实现。以下是一个例子: ```python from PIL import Image import os def crop_images(input_dir, output_dir, target_size): # 遍历输入目录中的所有文件 for filename in os.listdir(input_dir): if filename.endswith(".jpg") or filename.endswith(".png"): # 打开图片 image_path = os.path.join(input_dir, filename) img = Image.open(image_path) # 裁剪图片 img.thumbnail(target_size, Image.ANTIALIAS) # 确定输出路径并保存裁剪后的图片 output_path = os.path.join(output_dir, filename) img.save(output_path) print(f"已裁剪并保存图片 {filename}") # 设置输入目录、输出目录和目标尺寸 input_dir = "input/" output_dir = "output/" target_size = (500, 500) # 调用函数进行批量裁剪 crop_images(input_dir, output_dir, target_size) ``` 在这个例子中,我们首先导入了必要的模块:PIL库和os库。然后定义了一个名为crop_images的函数来执行图片裁剪的操作。函数接受三个参数:输入目录(包含待裁剪图片的文件夹)、输出目录(用于保存裁剪后的图片的文件夹)以及目标尺寸(裁剪后的图片的大小)。 函数的主要部分是通过遍历输入目录中的所有文件,打开图片并使用thumbnail函数来裁剪。thumbnail函数采用目标尺寸和缩放方法(这里使用了Image.ANTIALIAS)作为参数。接下来,我们确定裁剪后图片的输出路径并保存图片。最后,我们通过调用函数来执行裁剪操作,并打印出每个裁剪后的图片的文件名。 你可以根据实际需求修改输入目录、输出目录和目标尺寸的值,以适应你的图片裁剪需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小Qi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值