How to perform Cubic interpolation on images?

7 views (last 30 days)
Hi , I have a series of 180 images, I want to apply cubic interpolation on them. How can I do that? Thank you

Answers (2)

Matt J
Matt J on 26 Nov 2013
Edited: Matt J on 26 Nov 2013
F=griddedInterpolant(...,'cubic');
interpolatedData=F(...);
  1 Comment
Yazan Awwad
Yazan Awwad on 26 Nov 2013
Edited: Yazan Awwad on 26 Nov 2013
Can you please give me more details. For examples, if one of the images is : A=imread('Translated frame_120 with respect to frame_1.png'); the size of A is 448 by 901. How can I apply the function u mentioned on these data. Thank you

Sign in to comment.


Image Analyst
Image Analyst on 26 Nov 2013
Can't you simply use imresize()?
  6 Comments
ANKUSH JAMTHIKAR
ANKUSH JAMTHIKAR on 28 Mar 2018
Hey, Can anyone suggest how can I interpolate image using cubic spline interpolation (For any general images)?
Walter Roberson
Walter Roberson on 28 Mar 2018
Edited: Walter Roberson on 28 Mar 2018
scale = 1/10;
r = size(YourImage,1);
c = size(YourImage,2);
[R, C] = ndgrid(1:r, 1:c);
newrv = linspace(1, r, floor(r*scale));
newcv = linspace(1, c, floor(r*scale));
[NewR, NewC] = ndgrid(newrv, newcv);
for channel = size(YourImage,3) : -1 : 1
  newImage(:,:,channel) = interp2(R, C, YourImage(:,:,channel), NewR, NewC, 'spline');
end
newImage = cast(newImage, class(YourImage));
imshow(newImage)

Sign in to comment.

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!