How to perform Cubic interpolation on images?
Mostrar comentarios más antiguos
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)
F=griddedInterpolant(...,'cubic');
interpolatedData=F(...);
1 comentario
Yazan Awwad
el 26 de Nov. de 2013
Editada: Yazan Awwad
el 26 de Nov. de 2013
Image Analyst
el 26 de Nov. de 2013
0 votos
Can't you simply use imresize()?
6 comentarios
Yazan Awwad
el 26 de Nov. de 2013
Editada: Image Analyst
el 26 de Nov. de 2013
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
el 26 de Nov. de 2013
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
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
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)
Categorías
Más información sobre Read, Write, and Modify Image en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!