How do I split my 200 pixel image up into 8 by 8?

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);

답변 (3개)

Azzi Abdelmalek
Azzi Abdelmalek 2015년 7월 29일

0 개 추천

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
Walter Roberson 2015년 7월 29일

0 개 추천

lenacell = mat2cell(lena, 25 * ones(1,8), 25 * ones(1,8), size(lena,3));
Image Analyst
Image Analyst 2015년 7월 30일

0 개 추천

It shows 2 ways - the mat2cell() way, and the indexing way like you showed.

태그

질문:

2015년 7월 29일

답변:

2015년 7월 30일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by