<返回更多

Python脚本批量处理图片,缩放裁剪压缩到指定大小

2023-05-13  今日头条  诚哥博客
加入收藏

简介

对于需要处理大量图片的工作,例如调整图片大小、裁剪图片等,手动处理是非常繁琐的。为了提高工作效率,我们可以使用Python/ target=_blank class=infotextkey>Python编写脚本来自动化这些任务。在本文中,我们将介绍如何使用Python编写脚本来批量处理图片。

环境准备

在开始编写脚本之前,我们需要确保已安装必要的库。在本文中,我们将使用Pillow库来处理图片。您可以使用以下命令来安装Pillow库:

pip install Pillow

编写Python脚本

from PIL import Image
import os
import hashlib
input_folder = "/Users/rakers/Library/Containers/com.macosgame.iwallpaperstatic/Data/Documents/OriginalImage/"   # 原始图片文件夹路径
output_folder = "./thumb/"  # 处理后图片文件夹路径
target_size = (1920, 1080)   # 目标大小
if not os.path.exists(output_folder):
    os.makedirs(output_folder)
for filename in os.listdir(input_folder):
    if not (filename.endswith('.png') or filename.endswith('.jpeg') or filename.endswith('.jpg')):
        continue
    try:
        with Image.open(os.path.join(input_folder, filename)) as img:
            width, height = img.size
            if width < height:
                new_width = target_size[0]
                new_height = int(height * new_width / width)
            else:
                new_height = target_size[1]
                new_width = int(width * new_height / height)
            resized_img = img.resize((new_width, new_height))
            cropped_img = resized_img.crop((0, 0, target_size[0], target_size[1]))
            # 获取文件的MD5哈希值,并用它作为新文件名
            hash_md5 = hashlib.md5(cropped_img.tobytes())
            new_filename = hash_md5.hexdigest() + '.jpg'
            cropped_img.save(os.path.join(output_folder, new_filename), 'JPEG', quality=95)
    except Exception as e:
        print(f"Error processing {filename}: {str(e)}")

运行测试

python3 thumb.py

坐等输出:

 


 

结论

通过使用Python编写脚本,我们可以快速、高效地处理大量图片。在本文中,我们介绍了如何使用Pillow库来缩放、裁剪和压缩图片,并使用MD5哈希值来重命名输出文件。希望这篇文章能够帮助您更好地处理图片。

往期回顾

Nginx本地缓存转发七牛云等OSS图片教程,可以省钱

◆使用Rufus刻录U盘安装Kali

◆如何在wordPress/ target=_blank class=infotextkey>WordPress中去除插件更新提示


版权声明:本文为「诚哥博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://www.chengzz.com/1144.html

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>