[問題] bilinear 圖片放大縮小已回收

看板MATLAB作者 (weiserhorner)時間14年前 (2010/03/14 20:44), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
先承認這是作業 不過我已經想很久了 要用bilinear 做放大縮小 我現在的想法是將 原本圖形的大小和新的圖形大小取最小公倍數 然後把原本的martrix 切割 舉例來說 2*2變成5*5 最小公倍數是10 所以2*2就先變成20*20 然後10/2=4 所以20*20取4*4當做新的圖形的1*1 問題來了 通常圖片都是512*512或是1024*1024甚至更多 就會面臨memory不夠的問題 code 附在下面 還沒有很完全 不知道有沒有高手能提供方法將memory使用量降到普通電腦可以跑的範圍 還是我應該放棄這個想法呢 感謝先 Fx=input('zooming factor in x axis= '); % set zooming factor in X direction Fy=input('zooming factor in y axis= '); % set zooming factor in Y direction [M,N]=size(prepic); % get size from original picture Sx=(N).*(Fx); % new number of pixel of picture in X Sy=(M).*(Fy); % new number of pixel of picture in Y Sx=round(Sx); % de-decimal Sy=round(Sy); % de-decimal Ylcm=lcm(Sy,M); Xlcm=lcm(Sx,N); output=zeros(Sy,Sx); tempic=zeros(Ylcm,Xlcm); numY=Ylcm/M; numX=Xlcm/N; for i=1:N for j=1:M tempic((j*Ylcm-(Ylcm-1)):(j*Ylcm),... (i*Xlcm-(Xlcm-1)):(i*Xlcm))=prepic(j,i); end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.94.29

03/14 20:56, , 1F
雙線性放大縮小有標準的做法 不需要自己亂想
03/14 20:56, 1F

03/14 21:01, , 2F
標準作法是用座標去算相對位置嗎
03/14 21:01, 2F
文章代碼(AID): #1BdDf7zv (MATLAB)