How to enlarge an image using spline interpolation

5 visualizaciones (últimos 30 días)
T.K
T.K el 28 de Ag. de 2020
Comentada: T.K el 30 de Oct. de 2020
I want to double the size of the input image using "spline". Please tell me how

Respuesta aceptada

KSSV
KSSV el 28 de Ag. de 2020
Editada: KSSV el 28 de Ag. de 2020
I = imread("image.jpeg") ; % assuming image to m*n
[m,n,p] = size(I) ;
x = 1:n ;
y = 1:m ;
% Inteprolate to double
xi = 1:2*n ;
yi = 1:2*m ;
I = double(I) ;
Inew = zeros(2*m,2*n) ;
% Row wise inteprolation
for i = 1:m
Inew(i,:) = spline(x,I(i,:),xi) ;
end
% Column wise interpolation
for j = 1:n
Inew(:,j) = spline(y,I(:,j),yi) ;
end
Change the class if Inew to the original I. Also read about imresize.
  5 comentarios
KSSV
KSSV el 29 de Oct. de 2020
Editada: KSSV el 29 de Oct. de 2020
You can see both the codes given..there are few mistakes int he first code which have been rectiffied. Especially generating the new grid fot enlarging the image.
Thanks is accepting/ voting the answer.
T.K
T.K el 30 de Oct. de 2020
Thank you for your replying!
I understood!

Iniciar sesión para comentar.

Más respuestas (1)

Bruno Luong
Bruno Luong el 28 de Ag. de 2020
Editada: Bruno Luong el 28 de Ag. de 2020
A=peaks(10);
B=interp2(A,1,'spline');
subplot(1,2,1)
imagesc(A)
subplot(1,2,2)
imagesc(B)

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by