赞
踩
python的Pillow库是一个用来处理图像的第三方库,它支持广泛的文件格式和操作,包括图片的打开、保存、剪裁、旋转、缩放、滤镜等。以下是Pillow库的介绍、使用方法和实战案例。
Pillow库是Python Imaging Library(PIL)的一个分支,提供简单易用的API以及对众多图像格式的支持。该库可以轻松完成常见的图像处理任务,比如调整颜色、裁剪、缩放等等,并且还有各种特效和滤镜可供使用。
安装Pillow库非常简单,只需要在终端中执行以下命令:
pip install Pillow
要使用Pillow库打开一张图片并显示它,可以使用下面的代码:
- from PIL import Image
- # 打开一张图片
- img = Image.open("image.jpg")
- # 显示图片
- img.show()
Pillow库提供了许多功能强大的图像处理方法,如调整大小、旋转、裁剪、滤镜等。
调整大小
- from PIL import Image
- img = Image.open("image.jpg")
- # 缩放到50%
- smaller_img = img.resize((img.width // 2, img.height // 2))
- # 放大到200%
- bigger_img = img.resize((img.width * 2, img.height * 2))
旋转
- from PIL import Image
- img = Image.open("image.jpg")
- # 顺时针旋转90度
- rotated_img = img.rotate(90)
- # 逆时针旋转45度
- rotated_img = img.rotate(-45)
裁剪
- from PIL import Image
- img = Image.open("image.jpg")
- # 裁剪图片,左上角坐标为 (x1,y1),右下角坐标为 (x2,y2)
- cropped_img = img.crop((x1, y1, x2, y2))
滤镜
- from PIL import ImageFilter
- img = Image.open("image.jpg")
- # 应用模糊滤镜
- blurred_img = img.filter(ImageFilter.BLUR)
- # 应用边缘检测滤镜
- edge_detected_img = img.filter(ImageFilter.FIND_EDGES)
处理完图片后,可以将其保存到本地。
- from PIL import Image
- img = Image.open("image.jpg")
- # 处理图片
- # 保存图片
- img.save("output.jpg")
以下是一个实际应用Pillow库的案例:将一张图片转换为ASCII码,并输出到控制台上。
- from PIL import Image
- # ASCII字符集,按从深到浅的顺序排列
- ASCII_CHARS = ['@', '#', 'S', '%', '?', '*', '+', ';', ':', ',', '.']
-
- # 将像素值转换为ASCII字符
- def get_ascii_char(r, g, b):
- gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
- unit = (256.0 + 1) / len(ASCII_CHARS)
- return ASCII_CHARS[int(gray / unit)]
-
- # 打开一张图片
- img = Image.open("image.jpg")
-
- # 缩小图片以提高处理速度
- img = img.resize((int(img.width / 3), int(img.height / 3)))
-
- # 输出ASCII码
- for y in range(img.height):
- for x in range(img.width):
- r, g, b = img.getpixel((x, y))
- print(get_ascii_char(r, g, b), end='')
- print()
这个脚本将图片缩小到原来的三分之一大小,并使用getpixel方法获取每个像素的RGB值,将其转换为ASCII字符后输出到控制台上。
此文由ChatGPT自动生成,希望能帮到你。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。