matplotlib.pyplot.imshow如何显示灰度图

转载:https://www.zhihu.com/question/24058898

作者:采石工
链接:https://www.zhihu.com/question/24058898/answer/117620288
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我写了一个例程,可以跑起来对比一下:
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

img = Image.open('lena.jpg')
img = np.array(img)
if img.ndim == 3:
    img = img[:,:,0]
plt.subplot(221); plt.imshow(img)
plt.subplot(222); plt.imshow(img, cmap ='gray')
plt.subplot(223); plt.imshow(img, cmap = plt.cm.gray)
plt.subplot(224); plt.imshow(img, cmap = plt.cm.gray_r)
plt.show()
 
import numpy as np  
import pandas as pd  
import matplotlib as mpl  
import matplotlib.pyplot as plt

#其中row_ins_rect是numpy.ndarray二维数组
#我是从pandas的DataFrame中取出来的,所以上面导了4个包
fig = plt.figure()  
ax1 = fig.add_subplot(1,2,1)  
ax1.imshow(row_ins_rect, cmap=plt.cm.gray)  
ax2 = fig.add_subplot(1,2,2)  
ax2.imshow(row_ins_rect, cmap=plt.cm.gray_r)  
plt.show()  

#或者:
implot = plt.imshow(row_ins_rect, cmap="gray")#选一个漂亮的颜色  
plt.show()

#cmap可以取多种不同的参数
参考链接:color example code: colormaps_reference.py
原文地址:https://www.cnblogs.com/MCSFX/p/13637842.html