Interpolation problem with interp2

10 views (last 30 days)
Hi everyone!
I did some computations on a grayscale picture and I would like to interpolate some points in my matrix. My problem is that interp2 doesn't allow to do what I want to.
Let's say my matrix is im
im = [1 2 3; 4 nan 6; 7 8 9];
and when I do:
[colum row] = meshgrid(1:3,1:3);
colum_i = 2;
row_i = 2;
zi = interp2(colum, row, im, colum_i, row_i);
I would like that it interpoles the nan. Is there a way to redefine a point in the matrix instead of a point between the points of the matrix?
My picture is a 512x512 pixels and interp2 would be very useful and fast instead of computing for every point separately...
Thank you for yours answers.
Regards, D.

Accepted Answer

Walter Roberson
Walter Roberson on 27 May 2011
I suggest you consider John d'Errico's MATLAB File Exchange contribution inpaint_nans
  1 Comment
Jan
Jan on 27 May 2011
Walter, you are typing faster than me - yesterday, today and tomorrow. It would increase the efficiency of my work, if a small icon appears in the question to show, that you are reading it currently - and will have answered it some seconds later.

Sign in to comment.

More Answers (2)

Jan
Jan on 27 May 2011
There are many tools for this task in the FEX: FEX:interpolate+nan
  2 Comments
jothi lakshmi maniyan
jothi lakshmi maniyan on 13 Oct 2016
hi i need bicubic interpolation matlab code fully pl help
Walter Roberson
Walter Roberson on 13 Oct 2016
https://www.mathworks.com/matlabcentral/fileexchange/20342-image-interpolation--ba-interp2-

Sign in to comment.


D.
D. on 27 May 2011
Thank you guys very much for your help...!
Regards, D.

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!