How to perform Cubic interpolation on images?

Hi , I have a series of 180 images, I want to apply cubic interpolation on them. How can I do that? Thank you

Respuestas (2)

Matt J
Matt J el 26 de Nov. de 2013
Editada: Matt J el 26 de Nov. de 2013
F=griddedInterpolant(...,'cubic');
interpolatedData=F(...);

1 comentario

Yazan Awwad
Yazan Awwad el 26 de Nov. de 2013
Editada: Yazan Awwad el 26 de Nov. de 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

Iniciar sesión para comentar.

Image Analyst
Image Analyst el 26 de Nov. de 2013

0 votos

Can't you simply use imresize()?

6 comentarios

Yazan Awwad
Yazan Awwad el 26 de Nov. de 2013
Editada: Image Analyst el 26 de Nov. de 2013
You can see some of the images here: http://www.mathworks.com/matlabcentral/answers/91114-how-can-i-perform-interpolation-between-images. I want to use interpolation to guess what would be in the dark region of the images.
Image Analyst
Image Analyst el 26 de Nov. de 2013
OK, imresize won't do that. Neither will griddedInterpolant. You can't guess what's there by interpolating nearby pixels over the unknown/black/dark pixels, thereby destroying whatever information they might have had, little though it might be.
Yazan Awwad
Yazan Awwad el 26 de Nov. de 2013
oh ok , what do u suggest I should do to guess whats there ??
Image Analyst
Image Analyst el 26 de Nov. de 2013
You need to enhance what's there, or improve your imaging method, not smear stuff from outside the region into the interior of the region. Sorry but I'm not an expert on ultrasound images. Try VisionBib for published methods.
ANKUSH JAMTHIKAR
ANKUSH JAMTHIKAR el 28 de Mzo. de 2018
Hey, Can anyone suggest how can I interpolate image using cubic spline interpolation (For any general images)?
Walter Roberson
Walter Roberson el 28 de Mzo. de 2018
Editada: Walter Roberson el 28 de Mzo. de 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)

Iniciar sesión para comentar.

Categorías

Más información sobre Read, Write, and Modify Image en Centro de ayuda y File Exchange.

Preguntada:

el 26 de Nov. de 2013

Editada:

el 28 de Mzo. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by