浅谈Python库之pillow

一、pillow的介绍

Pillow是Python Imaging Library (PIL) 的一个分支,它是一个强大的图像处理库,用于打开、操作和保存许多不同图像文件格式。Pillow提供了广泛的文件格式支持、强大的图像处理能力和广泛的文件格式兼容性。它是PIL的一个友好的分支,旨在更加现代化和维护良好。

二、pillow的特点

1、文件格式支持:支持多种图像文件格式,包括PNG、JPEG、GIF、TIFF等。

2、图像处理:可以进行图像的点操作、图像过滤、图像变换等操作。

3、图像过滤:提供多种图像滤镜,如模糊、锐化、边缘检测等。

4、文本操作:可以在图像上绘制文本。

5、图像效果:可以创建图像效果,如马赛克、油画等。

6、颜色转换:可以转换图像的颜色模式,如灰度、RGB、CMYK等。

7、透明度处理:可以处理图像的透明度。

8、动画:支持GIF动画的创建和播放。

三、pillow的安装使用

安装Pillow

使用pip安装Pillow非常简单:

bash 复制代码
pip install Pillow

Pillow的基本使用

打开和显示图像
python 复制代码
from PIL import Image

# 打开图像文件
img = Image.open("path_to_image.jpg")

# 显示图像
img.show()
转换图像格式
python 复制代码
from PIL import Image

# 打开图像文件
img = Image.open("path_to_image.jpg")

# 将图像转换为灰度模式
img_gray = img.convert("L")

# 保存转换后的图像
img_gray.save("path_to_save_gray_image.jpg")
裁剪图像
python 复制代码
from PIL import Image

# 打开图像文件
img = Image.open("path_to_image.jpg")

# 裁剪图像
cropped_img = img.crop((left, upper, right, lower))

# 保存裁剪后的图像
cropped_img.save("path_to_save_cropped_image.jpg")
旋转图像
python 复制代码
from PIL import Image

# 打开图像文件
img = Image.open("path_to_image.jpg")

# 旋转图像
rotated_img = img.rotate(90)

# 保存旋转后的图像
rotated_img.save("path_to_save_rotated_image.jpg")
创建缩略图
python 复制代码
from PIL import Image

# 打开图像文件
img = Image.open("path_to_image.jpg")

# 创建缩略图
thumbnail = img.thumbnail((128, 128))

# 保存缩略图
thumbnail.save("path_to_save_thumbnail.jpg")
绘制文本
python 复制代码
from PIL import Image, ImageDraw, ImageFont

# 打开图像文件
img = Image.open("path_to_image.jpg")

# 创建绘图对象
draw = ImageDraw.Draw(img)

# 选择字体和大小
font = ImageFont.truetype("arial.ttf", 15)

# 绘制文本
draw.text((10, 10), "Hello, Pillow!", font=font, fill=(255, 255, 255))

# 保存图像
img.save("path_to_save_text_image.jpg")
相关推荐
蜂鸟视图fengmap6 分钟前
蜂鸟云平台 JavaScript SDK 与微信小程序 SDK v3.1.5 更新分析
开发语言·javascript·微信小程序·蜂鸟云平台·javascript sdk·微信小程序sdk·地图开发者
don't_be_bald21 分钟前
C语言学习-循环练习
c语言·开发语言·c++·学习·算法
潜意识起点25 分钟前
人工智能与Java应用场景:智能推荐系统的实现
java·开发语言·人工智能
007php00729 分钟前
go语言zero框架下的日志记录的sdk实战案例
linux·开发语言·后端·python·nginx·golang·php
zmd-zk36 分钟前
spark将数据输出到hive或mysql中
大数据·数据库·hive·分布式·python·mysql·spark
hunandede1 小时前
RTMP、RTSP、RTP、HLS、MPEG-DASH协议的简介,以及应用场景
开发语言·php·dash
QXH2000001 小时前
数据分析实战—鸢尾花数据分类
python·机器学习·分类·数据分析
ALISHENGYA1 小时前
3分钟读懂数据分析的流程是什么
python·信息可视化·数据分析
丶21361 小时前
【Python】【数据分析】深入探索 Python 数据可视化:Seaborn 可视化库详解
python·信息可视化·数据分析
山山而川粤1 小时前
校园点餐系统|Java|SSM|JSP|
java·开发语言·后端·学习·mysql