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

4 vues (au cours des 30 derniers jours)
tash7827
tash7827 le 29 Juil 2015
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);

Réponses (3)

Azzi Abdelmalek
Azzi Abdelmalek le 29 Juil 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
Walter Roberson le 29 Juil 2015
lenacell = mat2cell(lena, 25 * ones(1,8), 25 * ones(1,8), size(lena,3));

Image Analyst
Image Analyst le 30 Juil 2015
It shows 2 ways - the mat2cell() way, and the indexing way like you showed.

Catégories

En savoir plus sur Image Filtering and Enhancement dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by