Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo biểu đồ bề mặt 3D từ ảnh xám với Matplotlib

Để tạo surface plot (biểu đồ bề mặt) từ ảnh grayscale với Matplotlib:

  • Thiết lập kích thước figure và padding
  • Tạo dữ liệu ngẫu nhiên bằng Numpy
  • Lấy dữ liệu xx và yy từ raster ảnh 2D
  • Tạo figure mới
  • Lấy axis hiện tại và chuyển sang projection 3D
  • Tạo surface plot với cmap='gray'
  • Hiển thị bằng show()

Ví dụ mã nguồn

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

data = np.random.rand(5, 5)
xx, yy = np.mgrid[0:data.shape[0], 0:data.shape[1]]
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(xx, yy, data, rstride=1, cstride=1, linewidth=0, cmap='gray')
plt.show()

Kết quả

Biểu đồ bề mặt 3D thể hiện giá trị pixel ảnh grayscale dưới dạng độ cao, màu xám.

Tạo biểu đồ bề mặt 3D từ ảnh xám với Matplotlib

Ứng dụng thực tế: Dùng cho dữ liệu địa hình (DEM), nhiệt độ, áp suất, hoặc bất kỳ ma trận 2D nào muốn trực quan hóa 3D.