簡介
對于需要處理大量圖片的工作,例如調(diào)整圖片大小、裁剪圖片等,手動處理是非常繁瑣的。為了提高工作效率,我們可以使用Python/ target=_blank class=infotextkey>Python編寫腳本來自動化這些任務(wù)。在本文中,我們將介紹如何使用Python編寫腳本來批量處理圖片。
環(huán)境準備
在開始編寫腳本之前,我們需要確保已安裝必要的庫。在本文中,我們將使用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
坐等輸出:
結(jié)論
通過使用Python編寫腳本,我們可以快速、高效地處理大量圖片。在本文中,我們介紹了如何使用Pillow庫來縮放、裁剪和壓縮圖片,并使用MD5哈希值來重命名輸出文件。希望這篇文章能夠幫助您更好地處理圖片。
往期回顧
◆Nginx本地緩存轉(zhuǎn)發(fā)七牛云等OSS圖片教程,可以省錢
◆使用Rufus刻錄U盤安裝Kali
◆如何在wordPress/ target=_blank class=infotextkey>WordPress中去除插件更新提示
版權(quán)聲明:本文為「誠哥博客」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:
https://www.chengzz.com/1144.html