could you fix these codes?
Mostra commenti meno recenti
I=imread('filename');
a1=I(1:8,1:8);
a2=I(1:8,9:16);
a3=I(1:8,17:24);
a4=I(1:8,25:32);
b1=I(9:16,1:8);
b2=I(9:16,9:16);
b3=I(9:16,17:24);
b4=I(9:16,25:32);
c1=I(17:24,1:8);
c2=I(17:24,9:16);
c3=I(17:24,17:24);
c4=I(17:24,25:32);
d1=I(25:32,1:8);
d2=I(25:32,9:16);
d3=I(25:32,17:24);
d4=I(25:32,25:32);
could you tell me how to make it short? Thank you
Risposta accettata
Più risposte (2)
Iman Ansari
il 14 Mag 2013
Modificato: Iman Ansari
il 14 Mag 2013
Hi. Use cell array:
I=imread('moon.tif');
C=mat2cell(I(1:32,1:32),8*ones(1,4),8*ones(1,4));
imshow(C{5},'InitialMagnification','fit')
C{5} or C{1,2} is a2 in your code.
3 Commenti
Iman Ansari
il 14 Mag 2013
It's not good having variable named a1,a2,..., see this:
I=imread('moon.tif');
C=mat2cell(I(1:32,1:32),8*ones(1,4),8*ones(1,4));
imshow(C{5},'InitialMagnification','fit')
C in this code is:
C={a1,a2,a3,a4;b1,b2,b3,b4;c1,c2,c3,c4;d1,d2,d3,d4}
and for s:
s=[C{1,1} C{2,1} C{3,2} C{4,3};C{1,3} C{2,2} C{3,3} C{4,4};...]
Tia
il 16 Mag 2013
David Sanchez
il 14 Mag 2013
You can try as well something like this
I=imread(your_32x32_image_name);
division = 8; % set according to yuor needs
L = size(I,1)/division;
subI = cell( L,L );
for row=1:L
for col=1:L
subI{row,col} = I( (row:row*division),(col:(col*division)) );
end
end
1 Commento
Tia
il 16 Mag 2013
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!