gpt4 book ai didi

python - 如何使用 Matplotlib 从灰度图像创建曲面图?

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:27 25 4
gpt4 key购买 nike

假设我有一张灰度图像(尺寸:550x150 像素)。我用 matplolib 加载图像

import matplotlib.pyplot as plt
import matplotlib.image as mp_img
image = mp_img.imread("my-cat.png")
plt.imshow(image)
plt.show()

现在,plt.imshow 在屏幕上显示图像。但我想要的是灰度值的表面图,如下所示:

.颜色不是必需品,但对高度线有帮助。我知道,我需要一个 f(x,y) -> z 形式的函数来创建曲面图。因此,我想使用图像中 (x_pixel,y_pixel) 处的灰度值来获取 f 的值。这导致了我的问题:

  • 我想在绘图期间对我的图像值进行一些插值(例如平滑)。这也取决于我的网格的大小,那么我该如何控制呢?并且,
  • 如何绘制图像灰度值的表面图?

最佳答案

所以这很简单。加载数据,构建绘图:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# generate some sample data
import scipy.misc
lena = scipy.misc.lena()

# downscaling has a "smoothing" effect
lena = scipy.misc.imresize(lena, 0.15, interp='cubic')

# create the x and y coordinate arrays (here we just use pixel indices)
xx, yy = np.mgrid[0:lena.shape[0], 0:lena.shape[1]]

# create the figure
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(xx, yy, lena ,rstride=1, cstride=1, cmap=plt.cm.gray,
linewidth=0)

# show it
plt.show()

结果:

enter image description here

关于python - 如何使用 Matplotlib 从灰度图像创建曲面图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31805560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com