MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]如何在矩阵中提取连续的子矩阵 (https://www.labfans.com/bbs/showthread.php?t=2513)

likeus 2008-04-22 19:02

[求助]如何在矩阵中提取连续的子矩阵
 
我想要在一个600*800的矩阵中,从第一个像素起,提取一个60*200的子矩阵,将其存储起来,然后从第二个像素开始,接着提取60*200的子矩阵,也存储起来,如此进行到最后。形象一点说就是用一个60*200的框(区域)沿着大矩阵从头走到尾,每挪动一下记录一次框里的矩阵。
我自己编的程序是:A=rand(600,800);
x=zeros(60,200);
for i=1:600
for j=1:800
[COLOR="Red"]x(i)=A(i:i+60;j:j+200);[/COLOR]
end
end

红色的部分是错的,警报说Incomplete or misformed expression or statement.我不知道错在哪里,在线等待高手指教。

shenglwan 2008-04-22 21:37

对 i+60 和 j+200 要进行条件限制,数据在同一行和不同行的程序实现是不一样的。你再调试调试,把 x(i)。。。那句后面的分号去掉,可以在命令窗口看到x的变化过程。

likeus 2008-04-23 19:42

问题解决了:
r=60;
c=190;
for i=1:600-r+1
for j=1:800-c+1
temp=Blue(i:i+r-1,j:j+c-1);
a(i,j)=sum(sum(temp));
end;
end;


所有时间均为北京时间。现在的时间是 05:03

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.