Enlarging an image with spline interpolation

11 visualizzazioni (ultimi 30 giorni)
I want to enlarge the number of pixels of the input image using spline interpolation. Please tell me how.

Risposta accettata

KSSV
KSSV il 28 Ott 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 Commenti
T.K
T.K il 30 Ott 2020
Thank you for your replying!
I understood!
Mehri Mehrnia
Mehri Mehrnia il 13 Giu 2022
Modificato: Mehri Mehrnia il 13 Giu 2022
main problem of this is it does not preserve image size, I mean the size of primary matrix

Accedi per commentare.

Più risposte (1)

Mehri Mehrnia
Mehri Mehrnia il 13 Giu 2022
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?

Categorie

Scopri di più su Splines in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by