对于需要处理大量图片的工作,例如调整图片大小、裁剪图片等,手动处理是非常繁琐的。为了提高工作效率,我们可以使用Python/ target=_blank class=infotextkey>Python编写脚本来自动化这些任务。在本文中,我们将介绍如何使用Python编写脚本来批量处理图片。
在开始编写脚本之前,我们需要确保已安装必要的库。在本文中,我们将使用Pillow库来处理图片。您可以使用以下命令来安装Pillow库:
pip install Pillow
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