赞
踩
今天给大家介绍一个功能实用且强大的图像处理库。
Pillow 是 Python 中用于图像处理的一个强大的第三方库,它是 PIL (Python Imaging Library) 的一个分支,且在 Python 3 环境下得到了更好的支持和维护。通过使用 Pillow,我们可以轻松地打开、操作、编辑和保存各种格式的图像文件。
首先确保你已安装了 pip(Python 包管理器)。在命令行中输入以下命令来安装 Pillow:
pip3 install pillow
打开和显示图片
- from PIL import Image
- # 打开一张图片
- img = Image.open("example.jpg")
- # 显示图片(需要在 Jupyter notebook 或者有 GUI 支持的环境中)
- img.show()
保存图片
- # 将图片以另一种格式保存(例如转换为 JPEG 格式)
- img.save("example_converted.jpg", "JPEG")
获取图片尺寸
- width, height = img.size
- print(f"Image dimensions: {width}x{height}")
缩放图像
- # 缩放图像至指定大小
- resized_img = img.resize((new_width, new_height))
- resized_img.save("example_resized.jpg")
旋转图像
- # 旋转图像 90 度
- rotated_img = img.rotate(40)
- rotated_img.save("example_rotated.jpg")
裁剪图像
- # 裁剪图像的一部分
- box = (left, upper, right, lower)
- cropped_img = img.crop(box)
- cropped_img.save("example_cropped.jpg")
色彩转换与滤镜
- # 将图像转换为灰度图像
- gray_img = img.convert("L")
- gray_img.save("example_gray.jpg")
- # 应用 PIL 内置滤镜
- filtered_img = img.filter(ImageFilter.BLUR)
- filtered_img.save("example_blurred.jpg")
案例1:批量转换图像格式
- import os
-
- for filename in os.listdir("images_folder"):
- if filename.endswith(".png"):
- img = Image.open(os.path.join("images_folder", filename))
- new_filename = filename.replace(".png", ".jpg")
- img.save(os.path.join("output_folder", new_filename), "JPEG")
案例2:图像像素操作
- # 获取图像的像素数据并进行修改
- pixels = img.load()
- for x in range(img.width):
- for y in range(img.height):
- r, g, b = pixels[x, y]
- # 假设将所有像素颜色变淡一半
- pixels[x, y] = (r // 2, g // 2, b // 2)
-
- # 修改后的像素存回原图
- img.save("example_modified.jpg")
实现一个简单的照片缩略图生成器。
使用 Pillow 创建一个简单的马赛克效果器,将大图分割成小格子,并对每个格子应用不同的色彩或模糊效果。
制作一个简单的图片转黑白复古风格程序。
通过以上实例,你应该对如何使用 Pillow 进行基本和一些高级的图像处理有了初步了解。实践这些代码并尝试探索更多的功能,如图像增强、色彩空间转换等,进一步提升你的图像处理技能。
Python图像处理库精选:从PIL到OpenCV,视觉技术核心工具介绍
更多精彩文章请关注微信公众号:手把手PythonAI编程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。