matplotlib学习笔记(四)
利用matplotlib可以显示图像
imread()和imshow()提供了简单的图像载入和显示功能.
img = plt.imread("xxx.jpg")
imread()可以从图像文件读入数据,得到一个表示图像的NumPy数组。它的第一个参数是文件名或文件对象,format参数指定图像类型,如果省略,就由文件的扩展名决定图像类型。 对于灰度图像,它返回一个形状为(M,N)的数组;对于彩色图像,返冋形状为(M,N,C)的数组。 其中,M为图像的高度,N为图像的宽度,C为3或4,表示图像的通道数。
下面读取一张图像,显示其维度和数据类型。
img = plt.imread("48.jpg") print img.shape print img.dtype plt.imshow(img)
效果
注意:rgb图像有三个维度,通常数据类型为uint8,也可以用0.0~1.0的小数表示,对应0~255
>>> plt.imshow(img*1.0) #取值范围为0.0到255.0的浮点数组,不能正确显示颜色
>>> plt.imshow(img/255.0) #取值范围为0.0到1.0的浮点数组,能正确显示颜色