#方法一:利用PIL中的Image函数
Note: 这个函数读取出来不是array格式
这时需要用 np.asarray(im) 或者np.array()函数将其转化成array,(区别是 np.array() 是深拷贝,np.asarray() 是浅拷贝)。然后可以使用如下的方法来查看图像的格式(下面是基于python3的编程格式):
from PIL import Image
import numpy as np
Image = Image.open('/data/xx.png')
Image.show()
Image.save('/data/xxx.png')
Image_array = np.array(Image)
print(type(img)) #显示类型
print(img.shape) #显示尺寸
print(img.shape[0]) #图片宽度
print(img.shape[1]) #图片高度
print(img.shape[2]) #图片通道数
print(img.size) #显示总像素个数
print(img.max()) #最大像素值
print(img.min()) #最小像素值
print(img.mean()) #像素平均值
#方法二:利用matplotlib.pyplot as plt用于显示图片
matplotlib.image as mpimg 用于读取图片,并且读取出来就是array格式
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
Image = mpimg.imread('/data/xx.png')
print Image.shape
plt.imshow(Image)
#方法三:OpenCV目前支持读取bmp、jpg、png、tiff等常用格式。更详细的请参考OpenCV的参考文档。
利用opencv-python接口,cv2.imread()读出来同样是array形式,但是值得注意的是,opencv读取图片并不是RGB格式的
import cv2
img = cv2.imread('/data/xx.png') #读取一张图片
cv2.namedWindow('image', cv2.WINDOW_NORMAL)#给显示的窗口命名,后面的flag默认为cv2.WINDOW_AUTOSIZE,自动调整边框#,但是在条形图过长时,使用windownormal我们可以自行调整边框
cv2.imshow('image',img)#展示图片
cv2.waitKey(0)#等待按键按下,如果不添最后一句,在IDLE中执行窗口直接无响应。在命令行中执行的话,则是一闪而过。
cv2.destroyAllWindows()#清除所有窗口
#参数中填入图片的完全路径或者相对路径
print(img.shape)
chanceyliu