這樣的意思是要切成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