How do I split my 200 pixel image up into 8 by 8?
    4 views (last 30 days)
  
       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);
0 Comments
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)
0 Comments
  Walter Roberson
      
      
 on 29 Jul 2015
        lenacell = mat2cell(lena, 25 * ones(1,8), 25 * ones(1,8), size(lena,3));
0 Comments
  Image Analyst
      
      
 on 30 Jul 2015
        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.
0 Comments
See Also
Categories
				Find more on Image Filtering and Enhancement 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!