想用Python处理图片,但不知从何下手?别担心,这就带你玩转图像处理的基础操作。咱们用 PIL库 来处理图片,这可是Python图像处理的“老大哥”了。
安装特别简单,在命令行里敲一行代码就搞定:
pip install pillow
导入也很直接:
from PIL import Image
看看最常用的几个操作:
# 打开一张图片
img = Image.open('cat.jpg')
# 查看图片信息
print(f“图片大小: {img.size}”) # 输出宽和高
print(f“图片格式: {img.format}”) # 比如JPEG、PNG
print(f“图片模式: {img.mode}”) # RGB、RGBA等
# 裁剪图片
cropped = img.crop((100, 100, 400, 400)) # 左上右下的坐标
# 调整大小
resized = img.resize((800, 600))
# 旋转图片
rotated = img.rotate(45) # 顺时针旋转45度
# 保存处理后的图片
resized.save('new_cat.jpg')
⚠️ 小贴士:
给图片加点滤镜效果,让它更有范儿:
from PIL import ImageEnhance
# 调整亮度
enhancer = ImageEnhance.Brightness(img)
brightened = enhancer.enhance(1.5) # 1.5倍亮度
# 调整对比度
enhancer = ImageEnhance.Contrast(img)
contrasted = enhancer.enhance(1.2) # 1.2倍对比度
# 调整色彩饱和度
enhancer = ImageEnhance.Color(img)
colored = enhancer.enhance(1.4) # 1.4倍饱和度
给图片加个水印,或者把多张图片拼在一起:
# 创建空白画布
canvas = Image.new('RGB', (800, 400), 'white')
# 把两张图片粘到画布上
canvas.paste(img1, (0, 0))
canvas.paste(img2, (400, 0))
# 添加水印
font = ImageFont.truetype(“arial.ttf”, 36)
draw = ImageDraw.Draw(canvas)
draw.text((10, 10), “我的水印”, font=font, fill='red')
⚠️ 小贴士:
粘贴图片时注意尺寸,别超出画布范围
水印字体文件要确保系统里有,不然会报错
中文水印要用支持中文的字体文件
写个简单的脚本,批量处理文件夹里的图片:
import os
from PIL import Image
def process_images(input_dir, output_dir):
# 创建输出目录
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 遍历输入目录
for filename in os.listdir(input_dir):
if filename.endswith(('.jpg', '.png')):
# 打开图片
with Image.open(os.path.join(input_dir, filename)) as img:
# 处理图片(这里以调整大小为例)
processed = img.resize((800, 600))
# 保存处理后的图片
output_path = os.path.join(output_dir, f'processed_{filename}')
processed.save(output_path)
# 使用示例
process_images('input_images', 'output_images')
⚠️ 小贴士:
记得用with
语句打开图片,这样处理完会自动关闭
大量图片处理时,注意释放内存
建议加个进度提示,不然处理大量图片时像没响应一样
图像处理可玩性超强,能做的事情太多了。掌握这些基础操作,就能开发各种好玩的图片处理工具。代码写得多了,慢慢就能找到感觉,整出更花哨的效果。