from PIL import Image
I = Image.open('./image.png')
print(type(I)) #--->
print(I.size) #--->(1280, 720)
I.show()
I.save('./save.png')
import matplotlib.pyplot as plt
from scipy.misc import imread, imsave
I = imread('./image.png')
print(type(I)) #--->
print(I.shape) #--->(720, 1280, 3)
print(I.size) #--->2764800
imsave('./save.png', I)
plt.imshow(I)
plt.show()
import cv2
I = cv2.imread('./image.png')
cv2.namedWindow('input_image', cv2.WINDOW_AUTOSIZE)I = cv2.cvtColor(I, cv2.COLOR_BGR2GRAY) #灰度化
cv2.imshow('input_image', I)
cv2.imwrite('./save.png', I)
print(type(I)) #--->
print(I.shape) #--->(720, 1280, 3)
#参数=0:(也可以是小于0的数值)一直显示,不会有返回值,若在键盘上按下一个键即会消失,则会返回一个按键对应的ascii码值
#参数>0:显示多少毫秒,超过这个指定时间则返回-1
cv2.waitKey(0)
cv2.destroyAllWindows()
'numpy.ndarray’的形状为(H, W, C),而’PIL.Image.Image’的形状为(W, H)。
'numpy.ndarray’的形状属性为.shape,而’PIL.Image.Image’的形状属性为.size。
PIL、cv2、matplotlib这三种读取的图片位深度都为16,那么保存的图片的位深度分别为:16、8、8。