Index exceeds matrix dimensions.
1 view (last 30 days)
Show older comments
I want to divide an image into 20 blocks, 2 vertically and 10 horizontally. And I wish to store the blocks in an array. But I have "?? Index exceeds matrix dimensions" error message anytime I try to run it. this is the code:
[x,y] = size(I);
x1 = mod(x,10);
y1 = mod(y,2);
x2 = x-x1;
y2 = y-y1;
NewI = resize(I, [x2,y2]);
[x3, y3] = size(NewI);
x4 = x3/10;
y4 = y3/2;
k=1;
for i = 1:x4:x3
for j = 1:y4:x3
subregion{k} = NewI(i:(i+(x4-1)), j:(j+(y4-1)));
k = k+1;
end
end
Thanks in anticipation
0 Comments
Accepted Answer
Image Analyst
on 7 Jun 2014
Two methods are shown in the FAQ. http://matlab.wikia.com/wiki/FAQ#How_do_I_split_an_image_into_non-overlapping_blocks.3F
Take your pick of which method you want to use.
0 Comments
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!