Python 使用matplotlib将RBG图像作为三维立方体的纹理

Python 使用matplotlib将RBG图像作为三维立方体的纹理,python,matplotlib,visualization,texture-mapping,Python,Matplotlib,Visualization,Texture Mapping,我想使用matplotlib绘制一个3D立方体,并将任意RGB图像(jpg或png)作为纹理映射到立方体的每一侧。有一个很好的例子 我只是想知道如何使用Python/matplotlib来实现它,可能是从开始的。我自己解决了这个问题,下面是代码: 将numpy导入为np 将matplotlib.image作为图像导入 将matplotlib.pyplot作为plt导入 C=image.imread('d:/timg.png') xp,yp,u;=C.shape x=np.arange(0,xp

我想使用matplotlib绘制一个3D立方体,并将任意RGB图像(jpg或png)作为纹理映射到立方体的每一侧。有一个很好的例子


我只是想知道如何使用Python/matplotlib来实现它,可能是从开始的。

我自己解决了这个问题,下面是代码:

将numpy导入为np
将matplotlib.image作为图像导入
将matplotlib.pyplot作为plt导入
C=image.imread('d:/timg.png')
xp,yp,u;=C.shape
x=np.arange(0,xp,1)
y=np.arange(0,yp,1)
Y、 X=np.网格网格(Y,X)
图=plt.图(图尺寸=(12,9))
ax=图gca(投影=3d')
最大距离=6.2
ax.view_init(标高=38,方位=45)
X.plot_曲面(X,Y,X-X+yp,面颜色=C,
rstride=2,cstride=2,
抗锯齿=真,阴影=假)
ax.plot_曲面(X,X-X,Y,facecolors=np.fliplr(C.transpose((1,0,2))),
rstride=2,cstride=2,
抗锯齿=真,阴影=假)
ax.plot_曲面(X-X+xp,X,Y,facecolors=np.fliplr(C.transpose((1,0,2)),
rstride=2,cstride=2,
抗锯齿=真,阴影=假)
生成的图像是:

将步幅更改为1将获得png图像的更多细节,但这似乎不是一种非常有效的方法,尤其是当图像大小非常大时