python中读取图片的方式有:
- PIL.Image.open
- scipy.misc.imread
- scipy.ndimage.imread
- cv2.imread
- matplotlib.image.imread
- skimge
- caffe.io.load_iamge
- ...
在这里选择matplotlib、PIL、cv2、skimage这四种常见的读取方式,以边日后查阅,其它请参照博客。
1.matplotlib
import matplotlib.image as mpimg
img1=mpimg.imread(picturepath)
plt.axis('off')
plt.imshow(img1)
plt.show()
用mpimg导入图片得到的即为RGB三通道数组,直接用plt显示即可。
2.PIL
from PIL import Image
img = Image.open(picturepath)
plt.imshow(img)
plt.axis('off')
plt.show()
用PIL的Image导入图片之后会得到一个Image的对象,这个对象可以通过convert("RGB")函数,然后用np.array()函数转成RGB三通道,进而用plt显示出来,如:
from PIL import Image
import numpy as np
img = Image.open(picturepath)
img=img.convert("RGB")
img=np.array(img)
plt.imshow(img)
plt.axis('off')
plt.show()
3.cv2
import cv2
img=cv2.imread(picturepath)
img=cv2.cvtColor(img2,cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
用cv2.imread()读到的图像,是BGR三通道图像,可以用cvtColor()函数转换一下
4.skimage
from skimage import io
img=io.imread(picturepath)
plt.imshow(img)
plt.show()
参考:
Python 中各种imread函数的区别与联系
(PIL)Image/(matplotlib.image)mpimg/(cv2)imread/(skimage)io.imread的细节和区别