作者jeffppp (烦..)
看板MATLAB
标题Re: [讨论] 切割
时间Thu May 31 11:50:34 2012
这样的意思是要切成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