Python Pillow库实现常见图片处理功能指南
本文介绍如何使用Python的Pillow库进行基础图片处理。涵盖安装方法,以及打开、格式转换、显示、裁剪、合并、生成缩略图、旋转和添加滤镜等核心操作,还包括使用ImageDraw进行绘图和文字标注的二次创作技巧。

作者:豆豆
来源:Python 技术「ID: pythonall」
在日常工作和生活中,经常需要处理简单的图片。许多人习惯依赖Photoshop、美图秀秀等软件,但实际上,Python已经能够高效完成这些任务。掌握Python图像处理,能让工作更加便捷高效。
安装
首先,通过pip命令将Pillow库安装到本地环境中。
pip install Pillow
基本操作
打开图像
利用Image类可以操控图片,例如打开一张图片并查看其基本信息。
from PIL import Image, ImageFilter, ImageEnhance, ImageDraw, ImageFont
img = Image.open('cat.png')
print(F'图片大小为 {img.format}, 格式为 {img.size}, 模式为{img.mode}')
# 图片大小为 JPEG, 格式为 (3458, 3456), 模式为 RGB
转换格式
若需更改图片格式,可使用save函数执行保存操作。
img.save("cat.png ")
执行后,当前目录下将生成一张扩展名为png的图片文件。

展示图片
直接调用show函数即可在屏幕上显示图片。
img.show()
剪裁
使用crop函数,并传入包含四个坐标值的元组,即可对图片进行裁剪。
point = (1500, 800, 3000, 2300)
img_crop = img.crop(point)
img_crop.show()

合并
通过paste函数,传入目标图像及坐标参数,可实现两张图片的合并。如需合并多张图片,只需多次调用该函数即可。
img.paste(img_crop, (0, 0), None)
img.show(

缩略图
当图片尺寸过大时,生成缩略图十分必要。可通过thumbnail函数,指定size参数来实现图片缩小。
thumb_size = (345, 345)
img.thumbnail(thumb_size)
img.show()

旋转
使用transpose函数,传入旋转角度参数,可实现图片的翻转效果。
该函数支持以下参数选项:
Image.ROTATE_90:逆时针旋转90度
Image.ROTATE_180:逆时针旋转180度
Image.ROTATE_270:逆时针旋转270度
Image.FLIP_LEFT_RIGHT:左右翻转
Image.FLIP_TOP_BOTTOM:上下翻转
img_rotate = img.transpose(Image.ROTATE_90)
img_rotate.show()

滤镜
此外,还可以对图片应用各种滤镜效果。
- 高斯模糊处理
img_gaussianblur = img.filter(ImageFilter.GaussianBlur(30))
img_gaussianblur.show()

- 获取照片轮廓
img_contour = img.filter(ImageFilter.CONTOUR)
img_contour.show()

- 亮度增强
若照片亮度不足,可通过调整参数进行亮度增强处理。
color = ImageEnhance.Color(img)
img_color = color.enhance(1.5)
img_color.show()

二次创作
若需对图片进行二次创作,例如添加辅助线或文字,可使用ImageDraw类完成。
画线
draw = ImageDraw.Draw(img)
draw.line((0, 0) + img.size, fill=20, width=3)
draw.line((0, img.size[1], img.size[0], 0), fill=200, width=3)
img.show()

文字
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('AliPuHui-Bold.ttf', 200)
text = 'This is a cat!'
draw.text((450, 450), text, font=font, fill='pink')
img.show()

如需添加多行文字,直接插入换行符\n即可实现。

总结
本文介绍了如何使用Pillow库对图片进行基础操作。实际上,Pillow库功能远不止于此,将这些基础操作组合使用,甚至可以制作个性化的表情包。期待读者探索更多有趣的应用方式。
以上就是Python图片处理库Pillow实现简单PS功能的详细内容,更多关于Pillow库实现简单PS的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









