How can divide an image into blocks

I want to divided image to 3*3 overlapping blocks, then I will make some operations on each block

1 Commento

Have you considered going back and Accepting the Answers that solved your previous questions?

Accedi per commentare.

 Risposta accettata

Walter Roberson
Walter Roberson il 25 Feb 2013

0 voti

blockproc() with 'BorderSize' and 'TrimBorder' options, possibly followed by mat2cell()

Più risposte (1)

Image Analyst
Image Analyst il 25 Feb 2013

0 voti

With a 3 by 3 window, you can only overlap by 1 pixel at most. So then you can use conv2() or imfilter() if you have a really simple filter, or nlfilter() if you have a complicated function you want to do on those 9 pixels. If you don't want the windows to overlap, then you can use blockproc(). Actually you can also have overlap with blockproc() too, but why complicate things? Search for "divide an image into blocks" or similar terms. It's asked several times a week here.

Community Treasure Hunt

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

Start Hunting!

Translated by