extract matrix from matrix

sir i have image of size 256*256 and i want to extract 5*5 matrix from every 8*8 block of 256*256 image what is code for this...also i want to add zeros to all 5*5 blocks and make 5*5 to 8*8 matrix of the 256*256 image ..what is code for this

1 Comment

For your second question, how are the 5x5 blocks stored, specifically?

Sign in to comment.

Answers (1)

Here is a very straightforward way to do this:
% Put in some pretend data
bigMatrix = rand(256);
% The algorithm
for ni=1:8:256
for nj = 1:8:256
i_idx = (ni-1)/8+1;
j_idx = (nj-1)/8+1;
smallMatrices{i_idx,j_idx} = bigMatrix(ni:ni+7,nj:nj+7);
smallMatrices{i_idx,j_idx}(:,6:8) = 0;
smallMatrices{i_idx,j_idx}(6:8,:) = 0;
end
end

4 Comments

sir i want 2 different code for that
If you remove the lines where I set the rows/columns to zero, then it solves your first issue.
sir how to solve second issue
I can't help you solve the second issue until you respond to the comment I made (just under your question). How are the 5x5 blocks stored?

Sign in to comment.

Asked:

on 11 Apr 2014

Commented:

on 25 Apr 2014

Community Treasure Hunt

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

Start Hunting!