I am trying enlarge an image using interpolation without using MATLAB commands, but my image isn't resizing properly.
2 views (last 30 days)
Show older comments
This function interpolates the rows first and then the columns from the interpolated rows.
function [enl] = enlarge(image)
img = imread(image);
img = double(img);
[m,n] = size(img);
% enl = zeros(m,n);
for i = 1:1:m
for j = 1:2:n-1
enl(i,j+1) = (img(i,j)+img(i,j+1))/2;
end
end
for i = 1:2:m-1
for j = 1:1:n
enl(i+1,j) = (img(i,j)+img(i+1,j))/2;
end
end
imshow(enl)
imwrite(enl, 'enl.gif')
end
2 Comments
Walter Roberson
on 24 Oct 2013
Please describe the difference between what you see and what you want.
Accepted Answer
Walter Roberson
on 24 Oct 2013
You are interpolating in one direction, but then you are ignoring the results of that when you interpolate in the other direction. Both times you overwrite the matrix en1 with values computed solely from img.
More Answers (2)
Dingbang Liang
on 30 Apr 2018
i tried this one, but it doesnt work. error is saying unusage of the first column "image", how to solve it?
1 Comment
Image Analyst
on 30 Apr 2018
It doesn't say that. "unusage" is not even a word. Paste the actual error message, including the line of code and the line numbers and the actual error message, as well as your script. In other words, attach your script, and any image or data that needs to be read in by it, and paste back here the complete error message ( ALL the red text).
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!