store array into matrix

pammy (view profile)

on 17 May 2013

i've divided the image into overlapping blocks of size 2x2.

``` overlapR=(rows-(blockSizeR-1));
overlapC=(columns-(blockSizeC-1));
BmatRows=(rows-(blockSizeR-1))*(columns-(blockSizeC-1));
BmatCols=blockSizeR*blockSizeC;```
` index=1;`
``` newB=zeros(BmatRows,BmatCols);
for row=1:incrR:rows-(blockSizeR-1)
rowStart=row;
rowEnd=row+(blockSizeR-1);```
```    for col=1:incrC:columns-(blockSizeC-1)
colStart=col;
colEnd=col+(blockSizeC-1);
dbstop if error```
`        oneBlock=grayImage(rowStart:rowEnd,colStart:colEnd);`
`        blurMoment=BlurInvariants(oneBlock);`
```        newB(index,:)=blurMoment;
index=index+1;
end
end```

next i calculated the BlurInvariant (I1 to I6 moments) its output is

`    Columns 1 through 4`
```55.578300091237828  80.214628323890793  63.941635242249006  67.963797222206097
```
```Columns 5 through 6
```
```81.296646744833296   7.960173582309505
```

the following error occurs

```Subscripted assignment dimension mismatch.
```
``` Error in overlapLexicoBlurInvariant (line 72)
newB(index,:)=blurMoment;```

plz help me solving my error

Products

No products are associated with this question.

Jan Simon (view profile)

Answer by Jan Simon

Jan Simon (view profile)

on 17 May 2013

The size of newB and blurMoment do not match. What sizes do you get, when the deugger stops at the error?

Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi