matlab圖像縮放程序

function y=resize(a,mul,type)
%****************************************************
%a:輸入圖像灰度值
%mul:縮放倍數
%type:1表示最鄰近法,2表示雙極性插值法
%畫出縮放後圖像並返回其灰度值
%****************************************************
[m,n]=size(a);
m1=m*mul;n1=n*mul;
%****************************************************
if type==1
for i=1:m1
for j=1:n1;
b(i,j)=a(round(i/mul),round(j/mul));
end
end
elseif type==2
for i=1:m1-1
for j=1:n1-1;
u0=i/mul;v0=j/mul;
u=round(u0);v=round(v0);
s=u0-u;t=v0-v;
b(i,j)=(a(u+1,v)-a(u,v))*s+(a(u,v+1)-a(u,v))*t+(a(u+1,v+1)+a(u,v)-a(u,v+1)-a(u+1,v))*s*t+a(u,v);
end
end
end
%*****************************************************
b=uint8(b);
imshow(b);
title('處理後圖像');
y=b;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章