Computer >> Máy Tính >  >> Lập trình >> Python

Gaussian lọc một hình ảnh với NaN trong Python Matplotlib

Lọc Gaussian một hình ảnh với các giá trị NaN sẽ tạo ra tất cả các giá trị của ma trận NaN, tạo ra ma trận có giá trị NaN.

Các bước

  • Tạo một hình và một tập hợp các tình huống phụ.
  • Tạo ma trận với giá trị NaN trong ma trận đó.
  • Hiển thị dữ liệu dưới dạng hình ảnh, tức là trên màn hình 2D thông thường, dữ liệu .
  • Áp dụng bộ lọc Gaussian trên dữ liệu.
  • Hiển thị dữ liệu dưới dạng hình ảnh, tức là trên raster 2D thông thường, gaussian_filter_data .
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

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()

Đầu ra

Gaussian lọc một hình ảnh với NaN trong Python Matplotlib