導航:首頁 > 編程語言 > 縮放圖片的代碼

縮放圖片的代碼

發布時間:2023-12-12 14:29:18

『壹』 數字圖像處理 圖像縮放以及旋轉的演算法代碼

clearall;
I=imread('lena.bmp');
figure;imshow(I);title('原圖像');
[m,n]=size(I);

%%%縮小臨近法
M=0.5;%放大倍數

%新的圖像大小
m1=m*M;n1=n*M;
%****************************************************
fori=1:m1
forj=1:n1;
J(i,j)=I(round(i/M),round(j/M));
end
end
%*****************************************************
figure;imshow(J);title('縮小圖像');

%%%放大雙線性插值法
I2=double(I);
N=1.5;%放大倍數
%新的圖像大小
m2=m*N;n2=n*N;
J2=zeros(m2,n2);
fori=1:m2
forj=1:n2
x=i/N;
y=j/N;
u=floor(x);
v=floor(y);
a=x-u;
b=y-v;
ifu+2<=m&v+2<=n
J2(i,j)=I2(u+1,v+1)*(1-a)*(1-b)+I2(u+2,v+1)*a*(1-b)+I2(u+1,v+2)*(1-a)*b+I2(u+2,v+2)*a*b;
end
end
end
J2=uint8(J2);
figure;imshow(J2);title('放大圖像');

%%%%%旋轉
R=45*pi/180;%旋轉角度
I=double(I);
%新圖像大小
m2=ceil(m*cos(R)+n*sin(R));
n2=ceil(m*sin(R)+n*cos(R));

u0=m*sin(R);%平移量

%變換矩陣
T=[cos(R),sin(R);-sin(R),cos(R)];
L=zeros(m2,n2);
foru=1:n2
forv=1:m2
%新圖像坐標變換到原圖像坐標x和y中
temp=T*([u;v]-[u0;0]);
x=temp(1);
y=temp(2);
ifx>=1&x<=m&y>=1&y<=n%若變換出的x和y在原圖像范圍內
x_low=floor(x);
x_up=ceil(x);
y_low=floor(y);
y_up=ceil(y);

%雙線性插值,p1到p4是(x,y)周圍的四個點
p1=I(x_low,y_low);
p2=I(x_up,y_low);
p3=I(x_low,y_low);
p4=I(x_up,y_up);
s=x-x_low;
t=y-y_low;
L(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;
end
end
end
L=uint8(L);
figure;imshow(L);

『貳』 求一個簡單的點擊圖片放大縮小的JS代碼

1、准備好需要用到的圖標。

閱讀全文

與縮放圖片的代碼相關的資料

熱點內容
IBM代碼5 瀏覽:279
編程時如何讓輸出結果之間有空格 瀏覽:112
怎麼復制網上文件 瀏覽:675
蘋果怎麼關掉網站禁止訪問 瀏覽:478
win10適合機械硬碟嗎 瀏覽:586
qq頭像歐美男霸氣頭像 瀏覽:368
java批量修改數據返回值 瀏覽:517
wp81創建文件夾 瀏覽:968
iphone高科技軟體 瀏覽:654
手機端怎麼看網頁代碼 瀏覽:925
什麼軟體能把手機變成蘋果版本的 瀏覽:841
ps精修瓶子視頻教程 瀏覽:481
win10惠普recovery盤 瀏覽:172
電腦網路問題是怎麼回事 瀏覽:193
微信刷卡支付介面開發 瀏覽:443
win10電腦屏幕旋轉90度怎麼復原 瀏覽:456
win10如何進入安全 瀏覽:319
把兩批紙質文件掃描成一個pdf 瀏覽:98
如何處理缺失數據 瀏覽:230
軟體如何提高編程能力 瀏覽:82

友情鏈接