def int_bilin_MT(f, x, y):
# assume x, y are in pixel
fint = np.zeros(len(x))
for i in range(len(x)):
t = y[i] - np.floor(y[i])
u = x[i] - np.floor(x[i])
y0 = f[np.int(np.floor(y[i])), np.int(np.floor(x[i]))]
y1 = f[np.int(np.floor(y[i])) + 1, np.int(np.floor(x[i]))]
y2 = f[np.int(np.floor(y[i])) + 1, np.int(np.floor(x[i])) + 1]
y3 = f[np.int(np.floor(y[i])), np.int(np.floor(x[i])) + 1]
fint[i] = t * u * (y0 - y1 + y2 - y3)
fint[i] += t * (y1 - y0)
fint[i] += u * (y3 - y0)
fint[i] += y0
return fint
评论列表
文章目录