使用plt.imshow()開啟影象為空白的問題
阿新 • • 發佈:2018-11-16
問題描述:
當我想使用matplotlib.pyplot的plt中的imshow()開啟影象時,遇到了開啟影象為空白的問題,類似於下圖
找了很久才知道這是因為影象的內部資料還是浮點數造成的,解決的方案根據情況有所不同:
第一種情況:為0-255的浮點數
通過使用Numpy的資料轉換將其直接轉換為整數。
import numpy as np import matplotlib.pyplot as plt z # 假設這是之前準備用來畫圖的張量或矩陣 z_new = z.astype(np.int32) plt.figure('your title') plt.imshow(z_new) plt.show()
第二種情況:為0-1的浮點數(這是因為很多情況下會進行標準化)
新增一句程式碼就可以啦。
import numpy as np
import matplotlib.pyplot as plt
w # 假設這是之前準備用來畫圖的張量或矩陣,範圍為0-1之間的浮點數
plot_normalizer = matplotlib.colors.Normalize(vmin = 0.0, vmax = 1.0, clip = True)
plt.figure('your title')
plt.imshow(w, norm = plot_normalizer)
plt.show()