用惯了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))