Interpolation problem with interp2

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.

 采纳的回答

Walter Roberson
Walter Roberson 2011-5-27

0 个投票

I suggest you consider John d'Errico's MATLAB File Exchange contribution inpaint_nans

1 个评论

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.

请先登录,再进行评论。

更多回答(2 个)

Jan
Jan 2011-5-27

1 个投票

There are many tools for this task in the FEX: FEX:interpolate+nan

2 个评论

hi i need bicubic interpolation matlab code fully pl help
https://www.mathworks.com/matlabcentral/fileexchange/20342-image-interpolation--ba-interp2-

请先登录,再进行评论。

D.
D. 2011-5-27

0 个投票

Thank you guys very much for your help...!
Regards, D.

类别

帮助中心File Exchange 中查找有关 Interpolation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by