Filter löschen
Filter löschen

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

2 Ansichten (letzte 30 Tage)
tash7827
tash7827 am 29 Jul. 2015
Beantwortet: Image Analyst am 30 Jul. 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);

Antworten (3)

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

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by