如何使用scipy.interp中的griddata

2024-04-19 21:26:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个三列(x像素,y像素,z值)数据,有一百万行。数据来自图像,并且存在重复的z值。现在我需要做一个曲面图。This image是一个完美的例子。但现在输出图像为空。有人能查一下密码吗?

import numpy as np
from enthought.mayavi import mlab
from scipy.interpolate import griddata
x,y,z = np.loadtxt('test.csv',delimiter=',',usecols=(0,1,2),unpack=True) 
xi,yi = np.mgrid[0:3000:3000j, 0:3000:3000j]
zi = griddata((x, y), z, (xi, yi),method='linear')
mlab.surf(xi,yi,zi)
mlab.show()

Tags: 数据from图像imageimportnp像素this
1条回答
网友
1楼 · 发布于 2024-04-19 21:26:04

如果没有数据,我无法检查代码,但我怀疑问题是您使用默认的fill_value=nan作为griddata参数,因此如果您有超出(x,y)点空间的网格点,则网格中有nan,mlab可能无法处理(matplotlib不容易)。尝试设置fill_value=0或其他合适的实数。

相关问题 更多 >