sub divide the image with overlaps

my image is a =
[0 0 1 1;
0 0 1 1;
0 2 2 2;
2 2 3 3];(this is only example image actual image is larger than this) i want to sub divide this into 4*4 blocks with overlaps.then i want to call each individual nine blocks.(B1,B2,........,B9);
B(1,1)=[0 0;0 0];
B(1,2)=[0 1;0 1];
B(1,3)=[1 1;1 1];
B(2,1)=[0 0;0 2];
B(2,2)=[0 1;2 2];how can i do this.

1 Commento

is there any method to subdivide the image with overlaps?

Accedi per commentare.

Risposte (1)

Image Analyst
Image Analyst il 4 Ott 2013
Modificato: Image Analyst il 4 Ott 2013

0 voti

I don't know what you mean when you say "i want to call each individual nine blocks". Perhaps blockproc() can work for you, or simply conv2() . Or maybe mat2cell() . Depends on what "call" means. See the FAQ: http://matlab.wikia.com/wiki/FAQ#How_do_I_split_an_image_into_non-overlapping_blocks.3F if you want non-overlapping blocks. You can have blockproc() to overlapping blocks instead of moving over in jumps but it's a little non-obvious. Or you can use imfilter() or nlfilter() if you have the Image Processing Toolbox.

2 Commenti

call means ,i want to display each blocks separately and i want to do some calculations for each block.i want to address each block. yes you are correct i have tried for blkproc. can i apply more than one function as fun in
B = blkproc(A,[m n],[mborder nborder],fun).
See the attached demos. You can run a custom function in blockproc() (this is in the demo) and in there you can use imshow() to display the small individual blocks if you want.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by