PIL学习随笔
基本就是从《Python计算机视觉编程》这本书里面摘下来的,结合自己的实践记录下来的比较实用的东西。
os.path.splitext
分割后缀名
import os
filepath = 'E:/image/01/a.png'
print os.path.splitext(filepath)
#结果为('E:/image/01/a', '.png')
一般配合PIL的save方法,save可以智能识别后缀名并转换格式
如下代码可以把png转化为jpg
from PIL import Image
import os
filepath = 'E:/image/01/a.png'
Image.open(filepath).save(os.splitext(filepath)[0]+'.jpg')
三种方法显示PIL灰度图片
1.PIL直接显示
#内置的打开方式(jupyter/ipython)
pil_im.convert('L')
#调用系统默认的工具打开
pil_im.convert('L').show()
2.matplotlib cmap
plt.imshow(pil_im.convert('L'),cmap = 'gray')
plt.show()
3.matplotlib gray()
plt.gray()
plt.imshow(pil_im.convert('L'))
plt.show()
matplotlib直接显示的话可能会变成下面的样子(左边是原图,右边是直接显示)
Numpy格式与PIL格式之间转化
有时候需要转换成不同的对象来实现不同的操作
- NumPy转PIL
from PIL import Image
pil_im = Image.fromarray(im)
- PIL转NumPy
import numpy as np
im = np.array(pil_im)
pickle的保存与读取
挺实用的一种数据保存方式,不过如果是大文件,最好还是用hdf5存放
import pickle
import pickle
#保存
with open('test.pkl','wb') as file:
pickle.dump(V,file)
#读取
with open('test.pkl','rb') as file:
a = pickle.load(file)