i've an image of of size 210x240.in the following code i've made one block..but i want many blocks how can i do it?

clc;
close all;
I=imread('images1.jpeg');
whos I;
fun = @(block_struct) ...
std2(block_struct.data) * ones(size(block_struct.data));
block=blockproc(I,[8 8],fun);
imshow(block);
i want to divide input image into overlapping blocks of size let say 8x8 like Block1,Block2 and so on ... on the basis of intensity as parameter and after that i want to sort these blocks in the form of list..
can u help me how can i do it? plz provide the required code for it so that i can understand it....

9 Comments

You find a lot of threads concerning dividing images to blocks in this forum already. Please take the time to read them. Asking for code based on the vague explanation "sort these blocks in form of a list" is most likely not successful: Creating code is very time-consuming, when it requires to guess, what you want.
Your blockproc does not "overlap" the blocks - they're adjacent. So it essentially "tiles" the image and the tiles are not overlapping. Do you want an overlap? If so, you need to use the 'BorderSize' option in blockproc().
i include the bordersize in it...
plz tell me how can i make blocks like block 1, block 2,block3 and so on....from the above blockproc()....
sir i m confused...can u provide the code plz so that
fun = @(block_struct) ...
std2(block_struct.data) * ones(size(block_struct.data));
block=blockproc(I,[6 6],fun,'BorderSize',[3 3]);
can be made in the form of blocks B1,B2,....
here I is an image of size 321x400
What would you do with the over 4500 individual B variables if you had them? Are you planning to code all 4500+ different variable names into your code? And it's going to be obvious to the reader of the code what variable B138 means, and it is going to be obvious that B108 is not in the same row as B107 ?? Please reconsider using individual variable names.
sir actually i m working on copy move forgery...i need blocks because after sorting the duplicate regions are adjacent in the sorted list...thats y m asking...yet the block size is also not fixed to 6x6...m trying which block size is better for doing all this.. loop concept i understand but
how to make a loop on
block=blockproc(I,[6 6],fun,'BorderSize',[3 3]);
m not getting this.
plz sir can u make a loop on block=blockproc(I,[6 6],fun,'BorderSize',[3 3]); so that i can understand...

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!