在 Python Matplotlib 中對帶有 NaN 的影像進行高斯濾波


對帶有 NaN 值的影像進行高斯濾波會導致矩陣中的所有值均為 NaN,從而生成 NaN 值矩陣。

步驟

  • 建立一個圖形和一組子圖。
  • 建立矩陣並在該矩陣中建立 NaN 值。
  • 將資料顯示為影像,即 2D 規則光柵圖data
  • 對資料應用高斯濾波。
  • 將資料顯示為影像,即 2D 規則光柵圖gaussian_filter_data
  • 要顯示圖形,請使用show()方法。

示例

import numpy as np
from matplotlib import pyplot as plt
from scipy.ndimage import gaussian_filter
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
fig, axes = plt.subplots(2)
data = np.array([[1., 1.2, 0.89, np.nan],
   [1.2, np.nan, 1.89, 2.09],
   [.78, .67, np.nan, 1.78],
   [np.nan, 1.56, 1.89, 2.78]])
axes[0].imshow(data, cmap="cubehelix_r")
gaussian_filter_data = gaussian_filter(data, sigma=1)
axes[1].imshow(gaussian_filter_data, cmap="cubehelix_r")
plt.show()

輸出

更新時間:2021 年 5 月 15 日

630 次瀏覽

開啟你的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.