How do I split my 200 pixel image up into 8 by 8?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(3 个)
Azzi Abdelmalek
2015-7-29
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 个评论
Walter Roberson
2015-7-29
lenacell = mat2cell(lena, 25 * ones(1,8), 25 * ones(1,8), size(lena,3));
0 个评论
Image Analyst
2015-7-30
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polygons 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!