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; |
matlab圖像縮放程序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.