繁体   English   中英

二维直方图的样条插值 - Python

[英]Spline Interpolation of a 2D Histogram - Python

我有一个 2D 直方图(x,y 坐标和“权重”),我需要做一个样条插值并提取数据(所以不仅仅是图形),我怎么能用 python 做到这一点? (我在这里附上历史)谢谢! 光照贴图 X_Z

你可以使用scipy,我从这里拿了下面的例子并稍微修改了一下:

from scipy import interpolate
import matplotlib.pyplot as plt

# define range of x values
x = np.arange(-5.01, 5.01, 0.25)
# define range of z values
z = np.arange(-5.01, 5.01, 0.25)
# create a meshgrid
xx, zz = np.meshgrid(x, z)
# these weights would be given to you in your histogram - here is an example function to generate weights
weights = np.sin(xx**2+zz**2)
# create interpolation object
f = interpolate.interp2d(x, z, weights, kind='cubic')

# generate new ranges of x and z values
xnew = np.arange(-5.01, 5.01, 1e-2)
znew = np.arange(-5.01, 5.01, 1e-2)
# interpolate 
weightsnew = f(xnew, znew)

# plot
plt.imshow(weightsnew)
plt.show()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM