from PIL import Image
from matplotlib import pyplot,image
from scipy import misc
from skimage import io,data
import cv2
import numpy as np
'''
使用PIL中的Image函数,这个函数读取出的不是array格式
这时候需要使用np.array()或是np.asarray()将其转换为array格式
np.array()是深拷贝,np.asarray()是浅拷贝
'''
img = Image.open('1.bmp')
#img.show()
img.save('1.png')
I = np.array(img)
print(I.shape)
'''
pyplot 用来显示图像
image 用来读取图像
'''
I = image.imread('1.png')
print(I.shape)
pyplot.imshow(I)
'''
使用opencv-python的接口 cv2
imread()函数读出来的是array形式,但是如果是单通道的,读出来的是三通道的
'''
I = cv2.imread('1.bmp')
print(I.shape)
'''
使用scipy读取图像,读出来的是矩阵,并且按照(H,W,C)形式保存
'''
I = misc.imread('1.bmp')
misc.imsave('1.png',I)
pyplot.imshow(I)
'''
使用skimage库
读取单张彩色rgb图像,使用skimage.io.imread(fname)函数,带一个参数,表示需要读取的文件路径。
skimage.io.imread(fname,as_grey=True),灰度化图像
'''
img=io.imread('1.bmp')
print(img.shape)
io.imshow(img)
pyplot.show()