在 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()
輸出

廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP