Python批量图片处理:高效修图的编程方案240
大家好,我是你们的技术博主,今天要给大家带来一个非常实用且高效的技能——使用Python进行批量图片处理。在日常工作或学习中,我们经常会遇到需要对大量图片进行相同操作的情况,例如批量调整图片大小、批量添加水印、批量转换图片格式等等。手动操作不仅费时费力,还容易出错。而Python强大的图像处理库,例如Pillow(PIL)、OpenCV等,可以轻松解决这些问题,让我们解放双手,提高效率。
本教程将以Pillow库为例,讲解如何用Python编写程序实现批量图片修图。Pillow是一个功能强大的Python图像处理库,易于学习和使用,适合初学者入门。我们将涵盖以下几个常见的批量图片处理任务:
一、准备工作:安装Pillow库
首先,你需要在你的电脑上安装Pillow库。可以使用pip命令轻松完成安装:pip install Pillow
安装完成后,你可以通过以下代码测试是否安装成功:from PIL import Image
print(Image.__version__)
如果成功安装,将会打印出Pillow库的版本号。
二、批量调整图片大小
这是一个非常常见的需求,例如将大量图片调整为统一的尺寸用于网站显示或社交媒体发布。以下代码实现将指定目录下所有图片调整为640x480大小:from PIL import Image
import os
def resize_images(input_dir, output_dir, width, height):
if not (output_dir):
(output_dir)
for filename in (input_dir):
if (('.jpg', '.jpeg', '.png')):
filepath = (input_dir, filename)
try:
img = (filepath)
img = ((width, height))
output_path = (output_dir, filename)
(output_path)
print(f"Resized {filename} to {width}x{height}")
except IOError as e:
print(f"Error processing {filename}: {e}")
input_directory = "input_images" # 输入图片目录
output_directory = "output_images" # 输出图片目录
resize_images(input_directory, output_directory, 640, 480)
这段代码首先检查输出目录是否存在,如果不存在则创建。然后遍历输入目录下的所有文件,判断文件是否为图片文件(jpg, jpeg, png),如果是则打开图片,调整大小,并保存到输出目录。错误处理机制可以捕获打开图片过程中可能出现的IOError异常。
三、批量添加水印
为图片添加水印可以有效保护版权。以下代码实现将一个水印图片添加到指定目录下所有图片的左下角:from PIL import Image
import os
def add_watermark(input_dir, output_dir, watermark_path):
if not (output_dir):
(output_dir)
watermark = (watermark_path)
for filename in (input_dir):
if (('.jpg', '.jpeg', '.png')):
filepath = (input_dir, filename)
try:
img = (filepath)
(watermark, (0, - ), watermark) # 左下角添加水印
output_path = (output_dir, filename)
(output_path)
print(f"Added watermark to {filename}")
except IOError as e:
print(f"Error processing {filename}: {e}")
input_directory = "input_images"
output_directory = "output_images_watermarked"
watermark_path = "" # 水印图片路径
add_watermark(input_directory, output_directory, watermark_path)
这段代码先打开水印图片,然后遍历所有图片,将水印图片粘贴到目标图片的左下角。 `(watermark, (0, - ), watermark)` 这行代码的第三个参数 `watermark` 用于控制透明度,确保水印图片的透明部分不会覆盖原图。
四、批量转换图片格式
有时候我们需要将图片批量转换为另一种格式,例如将所有jpg图片转换为png格式。以下代码实现将指定目录下所有jpg图片转换为png图片:from PIL import Image
import os
def convert_images(input_dir, output_dir, extension):
if not (output_dir):
(output_dir)
for filename in (input_dir):
if (('.jpg', '.jpeg')):
filepath = (input_dir, filename)
try:
img = (filepath)
name, ext = (filename)
output_path = (output_dir, name + extension)
(output_path)
print(f"Converted {filename} to {extension}")
except IOError as e:
print(f"Error processing {filename}: {e}")
input_directory = "input_images"
output_directory = "output_images_png"
convert_images(input_directory, output_directory, ".png")
这段代码类似于前面两个例子,只是在保存图片时指定了新的扩展名。 `(filename)` 用于分离文件名和扩展名,方便添加新的扩展名。
五、总结
本教程讲解了如何使用Python和Pillow库进行批量图片处理,涵盖了调整大小、添加水印和转换格式三个常见任务。 你可以根据自己的需求修改代码,例如调整水印位置、添加更多图片格式支持、或者加入其他的图片处理操作。 记住,创建 `input_images` 目录并放入你需要处理的图片,运行代码前确保已经安装 Pillow 库。 希望本教程能够帮助你提高图片处理效率! 未来我会继续分享更多Python编程技巧,敬请关注!
2025-04-29

摄影剪辑入门:器材选择与实用指南
https://www.boruyqh.com/91488.html

谷子修图调色:从入门到进阶的完整指南
https://www.boruyqh.com/91487.html

白纱外景婚纱照后期修图精细教程:从基础到高级技巧
https://www.boruyqh.com/91486.html

夜景修图教程:掌握滤镜,拍出惊艳夜景照片
https://www.boruyqh.com/91485.html

三小姐教你手机摄影:从入门到进阶的视频拍摄技巧
https://www.boruyqh.com/91484.html
热门文章

修图小白也能快速上手!修图教程下载指南
https://www.boruyqh.com/9745.html

如何像张楚鹏一样修出高级感人像照片:完整教程
https://www.boruyqh.com/4818.html

如何用 PS OPPO 修出质感大片|详细修图教程
https://www.boruyqh.com/20845.html

如何使用美图秀秀修出完美眼珠?
https://www.boruyqh.com/27869.html

人像修图教程:如何修饰红脸
https://www.boruyqh.com/9331.html