1. 程式人生 > 實用技巧 >matplotlib.pyplot.imshow如何顯示灰度圖

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