Divide an Image of an Arbitrary Size Into 512 * 512 Blocks

2 views (last 30 days)
Hello Everyone. This is my first time posting a question here, I will try to explain as best as I can (sorry for the not-so-good English lol).
I have an image of size 11772 x 11396. I want to divide it into 512 x 512 non-overlapping blocks. I tried to use reshape(img, 512, 512, []), but it gave me an error that basically means the number of pixels in the original image is not divisible by 512. What is the best way to overcome this problem?
This is the exact error message (in case it is needed): Error using reshape Product of known dimensions, 262144, not divisible into total number of elements, 134153712.
Thanks.

Accepted Answer

Image Analyst
Image Analyst on 27 Jun 2018

More Answers (1)

KSSV
KSSV on 27 Jun 2018
  2 Comments
Nour Aburaed
Nour Aburaed on 27 Jun 2018
It doesn't seem relevant to my question because 32 x 32 is divisible by 4, they can be easily reduced to 8x8 blocks. My problem is that the number of pixels in my original image is not divisible by 512.
KSSV
KSSV on 27 Jun 2018
Use imresize and change the dimensions so that, they are divisible by 512.

Sign in to comment.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!