2D interpolation

Fast 2D linear interpolation of scalar of vector valued 2D images.
2,8K download
Aggiornato 10 mag 2011

Visualizza la licenza

ZI = mirt2D_mexinterp(Z,XI,YI) interpolates 2D image Z at the points with coordinates XI,YI. Z is assumed to be defined at regular spaced points 1:N, 1:M, where [M,N]=size(Z).
If XI,YI values are outside the image boundaries, put NaNs in ZI.

The function is similar to Matlab's native
ZI = INTERP2(Z,XI,YI,'linear',NaN),
but is much master. If Z is vector valued 2D image (3D array), then iteratively interpolates Z(:,:,1), Z(:,:,2),Z(:,:,3),.. etc. This works faster than to interpolate each image independently, such as
ZI(:,:,1) = INTERP2(Z(:,:,1),XI,YI);
ZI(:,:,2) = INTERP2(Z(:,:,2),XI,YI);
ZI(:,:,3) = INTERP2(Z(:,:,3),XI,YI);

The extra speed gain is from the precomputation of coefficients for interpolation, which are the same for all images. Interpolation of a set of images is useful, e.g. for image registration, when one has to interpolate image and its gradients or for vector valued images such as RGB.

Limitations: only works for images on a regular grid, and only with linear interpolation method.

Don't forget to compile first:
mex mirt2D_mexinterp.cpp

Enjoy! See more at my homepage:
https://sites.google.com/site/myronenko/

Cita come

Andriy Myronenko (2024). 2D interpolation (https://www.mathworks.com/matlabcentral/fileexchange/24183-2d-interpolation), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2007a
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versione Pubblicato Note della release
1.1.0.0

small fix

1.0.0.0