python将图片二维数组转成三维图形
2 年前
该图片可以是RGB图片任一通道的数组,也可为灰度图。
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as np
import cv2
fig = plt.figure()
ax = fig.gca(projection='3d')
# Make data.
X = np.arange(0, 224, 1)
Y = np.arange(0, 224, 1)
X, Y = np.meshgrid(X, Y)
img = cv2.resize(cv2.imread('1/color/0-real.png'), (224, 224))
blueimg = img[:, :, 0] # 需要哪个通道的三维图,选择哪个通道即可。
surf = ax.plot_surface(X, Y, blueimg, cmap=cm.coolwarm,
linewidth=0, antialiased=False)
# Customize the z axis.
ax.set_zlim(0, 255) # z轴的取值范围
ax.zaxis.set_major_locator(LinearLocator(10))