Error- Subscripted assignment dimension mismatch.

2 views (last 30 days)
FIR
FIR on 18 Apr 2013
I have divided image into non overlapping blocks using command
x=imread('im9.bmp');
x=imresize(x,[256 256]);
rgbImage=x;x=double(x);
[rows columns numberOfColorBands] = size(rgbImage)
fun=@(block_struct) block_struct.data;
a = blockproc(x,[64 64],fun);
%%%%%%%%now to non overlapping blocks
a1= blkproc(x,[64 64],[2 3],fun);
i get the following error
Subscripted assignment dimension mismatch.
Error in blkproc (line 92) aa(border(1)+(1:ma),border(2)+(1:na)) = a;
Error in news (line 28) a1= blkproc(rgbImage,[64 64],[2 3],fun);
kindly helo to resolve it

Answers (1)

Walter Roberson
Walter Roberson on 18 Apr 2013
blkproc() and blockproc() are two different routines that process the data fairly differently.
blkproc() has either already been removed from MATLAB or will be removed soon; it is no longer a documented command.
The form of blkproc() you have used is for overlapping blocks, not for the non-overlapping blocks of your comment. The form of blockproc() you have used is for non-overlapping blocks.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by