Я хочу транскрибировать свой код с matlab на python. В Matlab я использую функцию interp2:
cols = 1544;
rows = 2064;
[xu,yu] = meshgrid(1:cols, 1:rows);
nim = interp2(xu,yu,double(im),xd,yd);
, где xd и yd - искажение, которое я хочу применить, вычисленное с использованием xu и yu, а im - мое изображение, которое я хочу интерполировать. Размер xd составляет 1544x2064 (размер моего изображения).
В python Я использую функцию interp из mpl_toolkits.basemap:
from mpl_toolkits.basemap import interp
x_u=np.arange(0,2064,1)
y_u=np.arange(0,1544,1)
nim =interp(im, x_u, y_u, xd, yd, order=1)
, где im - то же самое image.In interp (), x_u и y_u должны быть в 1D. xd и yd в скрипте python рассчитываются так же, как в Matlab. Но если я начинаю x_u и y_u с 0 в python, xd и yd не совпадают в Matlab и python, но если я начинаю их с 1, они совпадают в двух сценариях. Результат интерполяции другой. Разница будет меньше, если я начну x_u и y_u в 0 в python, но я не понимаю, почему, потому что есть большая разница между xd и yd в Matlab и python. Почему есть разница между этими двумя интерполяциями?