Try this. It divides the image into square blocks of blk_size x blk_size pixels and save them in a cell array.
img = imread('pears.png');
blk_size = 100;
sz = ceil(size(img, [1 2])/blk_size)*blk_size;
img = padarray(img, sz-size(img,[1 2]), 0, 'post');
img_blks = mat2cell(img, blk_size*ones(size(img,1)/blk_size,1), blk_size*ones(size(img,2)/blk_size,1), 3);