How do I split my 200 pixel image up into 8 by 8?
Show older comments
I have a 200 pixel image (lena) that i need to split into patches, each one 25 x 25. Is there a way I can do this without manually doing the following?
lena11 = lena(1:25,1:25);
lena12 = lena(1:25,25:49);
lena21 = lena(25:49,1:25);
Answers (3)
Azzi Abdelmalek
on 29 Jul 2015
A=rand(200)
p=1:25:200
[ii,jj]=ndgrid(p,p)
out=arrayfun(@(x,y) A(x:x+24,y:y+24),ii,jj,'un',0)
Walter Roberson
on 29 Jul 2015
lenacell = mat2cell(lena, 25 * ones(1,8), 25 * ones(1,8), size(lena,3));
Image Analyst
on 30 Jul 2015
0 votes
See the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_split_an_image_into_non-overlapping_blocks.3F
It shows 2 ways - the mat2cell() way, and the indexing way like you showed.
Categories
Find more on Image Category Classification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!