MATLAB: Index exceeds matrix dimensions.

image processingImage Processing Toolboxsplit image into blocks

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

Best Answer

Take your pick of which method you want to use.