看板 MATLAB 關於我們 聯絡資訊
這樣的意思是要切成81塊吧 [l,m,n]=size(a); al=0:l/9:l; am=0:m/9:m; for i=1:9 for j=1:9 newimg{i,j}=X(al(i)+1:al(i+1),am(j)+1:am(j+1),:); end end newimg 裡面就是你要得81小塊了 ※ 引述《nash0513 (莊園大帥)》之銘言: : 我想把一個圖片區分再區分 : 先把一個 [360 450 3]的圖分成9小塊 : 再把9小塊再分成9小塊 一共81塊 : 程式碼如下: : a=imread('C:\Documents and Settings\新增\桌面\123.jpg'); : [l,m,n]=size(a); : x=120; : y=150; : l1=l/x; : m1=m/y; : x1=40; : y1=50; : l2=x/x1; : m2=y/y1; : for i=1:l1, : for j=1:m1, : f1=['b' int2str((i-1)*3+j)]; : eval([f1 '=a((1+(i-1)*x):(x+(i-1)*x),(1+(j-1)*y):(y+(j-1)*y),:);']); : for i1=1:l2, : for j1=1:m2, : f2=[f1 'c' int2str((i1-1)*3+j1)]; : eval([f2 '=b1((1+(i1-1)*x1):(x1+(i1-1)*x1),(1+(j1-1)*y1):(y1+(j1-1)*y1),:);']); : end; : end; : end; : end; : 我大概知道是在第4個for有問題 : 可是不知道應該怎麼做修改 : 麻煩各位大大幫我看一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.227.178