![]() |
[求助]如何在矩阵中提取连续的子矩阵
我想要在一个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.我不知道错在哪里,在线等待高手指教。 |
对 i+60 和 j+200 要进行条件限制,数据在同一行和不同行的程序实现是不一样的。你再调试调试,把 x(i)。。。那句后面的分号去掉,可以在命令窗口看到x的变化过程。
|
问题解决了:
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.