how to split and store it into one arrray?
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
hello.. i'm trying to split image into block 8x8, then extract the pixel values from each block. i want to move position of blocks. then store it back into 1 array..how do i get it?sorry, i am newbie thanks
Réponses (1)
David Sanchez
le 15 Juil 2013
I = your_image;
[rows,cols] = size(I); % dimensions of your image
M = cell(8,8);
for k=1:8
for l = 1:8
M{k,l} = I( (rows*(k-1)/8 + 1):(rows*k/8) , (cols*(l-1)/8 +1):(cols*l/8) );
M{k,l} = reshape8M{k,l},(rows*cols/64),1); % reshape into single column
end
end
2 commentaires
David Sanchez
le 15 Juil 2013
here with the typo in the 7th line corrected:
I = your_image;
[rows,cols] = size(I); % dimensions of your image
for k=1:8
for l = 1:8
M{k,l} = I( (rows*(k-1)/8 + 1):(rows*k/8) , (cols*(l-1)/8 +1):(cols*l/8) );
M{k,l} = reshape(M{k,l},(rows*cols/64),1); % reshape into single column
end
end
Jan
le 15 Juil 2013
@David: You can edit your question instead of adding a comment with a corrected version.
Cette question est clôturée.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!