Enlarging an image with spline interpolation

I want to enlarge the number of pixels of the input image using spline interpolation. Please tell me how.

 Respuesta aceptada

KSSV
KSSV el 28 de Oct. de 2020
I = imread("image.jpeg") ; % assuming image to m*n
I=rgb2gray(I);
[m,n] = size(I) ;
x = 1:n ;
y = 1:m ;
% Inteprolate to double
xi = linspace(1,n,2*n) ;
yi = linspace(1,m,2*m) ;
I = double(I) ;
I1 = zeros(m,2*n) ;
% Row wise inteprolation
for i = 1:m
I1(i,:) = spline(x,I(i,:),xi) ;
end
Inew = zeros(2*m,2*n) ;
% Column wise interpolation
for j = 1:2*n
Inew(:,j) = spline(y,I1(:,j),yi) ;
end
Inew = uint8(Inew) ;
figure
imshow(Inew)

2 comentarios

T.K
T.K el 30 de Oct. de 2020
Thank you for your replying!
I understood!
Mehri Mehrnia
Mehri Mehrnia el 13 de Jun. de 2022
Editada: Mehri Mehrnia el 13 de Jun. de 2022
main problem of this is it does not preserve image size, I mean the size of primary matrix

Iniciar sesión para comentar.

Más respuestas (1)

Mehri Mehrnia
Mehri Mehrnia el 13 de Jun. de 2022

0 votos

Hi,
I really appreciate this Q/A, helped me.
I have a countour which is a complex shape(left atrial of heart). I want to select some points(control ones) to dilate or erode the shape? any idead?

Categorías

Etiquetas

Preguntada:

T.K
el 28 de Oct. de 2020

Editada:

el 13 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by