用惯了opencv,偶尔要用PIL但是不太熟悉,这里总结一下常用的语法
1、图片的打开和显示
from PIL import Image
import matplotlib.pyplot as plt
# 打开图片
im=Image.open(path)
# 显示图片
# 该方法调用系统图片浏览软件
im.show()
# 显示图片
# 该方法通过库绘制图像来显示
plt.figure(title) # 窗口标题
plt.axis('off') #关闭坐标轴显示
plt.imshow(img)
plt.show() # 开始绘制
2、查看图像信息
print(img.size) # 图像尺寸
print(img.mode) # 图像模式
print(img.format) # 图像格式
print(img.size)
3、图像模式转换
img=img.convert("L") # 转灰度图模式
# 灰度图使用plt显示,要定义cmap=plt.get_cmap('gray')
img=img.convert("1") # 转二值图模式
4、图片保存
img.save(path)
5、图像其他操作
img=img.resize(shape,mode)
6、与其他常见格式的转换
Image,Opencv和numpy之间的转换
img=Image.open(path)
# Image对象转numpy
nup=np.asarray(img)
# numpy转opencv对象
img = cv2.cvtColor(nup,cv2.COLOR_RGB2BGR)
# opencv对象转Image对象
image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))
本文档总结了PIL库的基本用法,包括图片的打开、显示、信息查看、模式转换、保存以及与其他格式(如OpenCV)的转换。通过实例展示了如何使用PIL进行灰度图和二值图转换,并提供了显示图像的不同方法。此外,还介绍了图像尺寸、模式和格式的查询,以及图像的resize操作。对于开发者从OpenCV转向PIL或者需要两者间转换的场景,提供了实用的转换技巧。
1028

被折叠的 条评论
为什么被折叠?



