Scipy插值如何将3x3矩阵的大小重采样为5x5?

Scipy插值如何将3x3矩阵的大小重采样为5x5?,第1张

Scipy插值如何将3x3矩阵的大小/重采样为5x5?

只有两个小问题:

1)您的xx,yy超出x,y的范围(您 可以 推断,但我想您不想这样做。)

2)您的样本大小对于kx和ky为3(默认值)而言太小。将其降低到2并得到二次拟合而不是三次拟合。

import numpy, scipyfrom scipy import interpolatekernelIn = numpy.array([    [0,-2,0],    [-2,11,-2],    [0,-2,0]])inKSize = len(kernelIn)outKSize = 5kernelOut = numpy.zeros((outKSize),numpy.uint8)x = numpy.array([0,1,2])y = numpy.array([0,1,2])z = kernelInxx = numpy.linspace(x.min(),x.max(),outKSize)yy = numpy.linspace(y.min(),y.max(),outKSize)newKernel = interpolate.RectBivariateSpline(x,y,z, kx=2,ky=2)kernelOut = newKernel(xx,yy)print kernelOut##[[  0.      -1.5     -2.      -1.5      0.    ]## [ -1.5      5.4375   7.75     5.4375  -1.5   ]## [ -2.       7.75    11.       7.75    -2.    ]## [ -1.5      5.4375   7.75     5.4375  -1.5   ]## [  0.      -1.5     -2.      -1.5      0.    ]]


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5674873.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存