python批量修改图片像素工具
时间: 2025-06-29 14:13:45 浏览: 17
### Python批量修改图片像素尺寸
为了处理图片像素尺寸问题,特别是当需要确保不同设备上的显示一致性时,可以利用Python中的Pillow库来编写一个简单的脚本来批量调整图像大小。该方法能够有效解决由于奇数像素点缩放带来的精度损失问题[^1]。
下面是一个基于Pillow库的Python脚本实例:
```python
from PIL import Image
import os
def resize_images(input_folder, output_folder, scale_factor=0.5):
"""
批量调整指定文件夹内所有图片的比例并保存到另一个文件夹中
参数:
input_folder (str): 输入图片所在的目录路径.
output_folder (str): 输出调整后的图片存储的目标目录路径.
scale_factor (float): 缩放因子,默认为0.5表示缩小一半.
"""
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
img_path = os.path.join(input_folder, filename)
try:
with Image.open(img_path) as im:
new_size = tuple(int(dim * scale_factor) for dim in im.size)
# 如果新的宽度或高度是奇数,则加一使其变为偶数以防止像素丢失
width, height = new_size
if width % 2 != 0 or height % 2 != 0:
width += width % 2
height += height % 2
resized_im = im.resize((width, height), resample=Image.LANCZOS)
save_path = os.path.join(output_folder, filename)
resized_im.save(save_path)
print(f"{filename} has been successfully processed and saved to {save_path}")
except Exception as e:
print(f"Failed processing file {img_path}: ", str(e))
if __name__ == "__main__":
input_dir = "path/to/input/images"
output_dir = "path/to/output/resized_images"
resize_images(input_dir, output_dir)
```
此代码片段展示了如何通过遍历给定输入文件夹内的每一张图片来进行按比例缩放操作,并将结果保存至目标输出文件夹。对于可能出现的因原始尺寸为奇数值而导致的问题进行了特别处理——即如果计算得到的新宽高任一项为奇数,则将其增加到最近的一个偶数值上,从而避免了潜在的像素丢失现象。
阅读全文
相关推荐



















