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

2 次查看(过去 30 天)
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.

采纳的回答

Image Analyst
Image Analyst 2018-6-27

更多回答(1 个)

KSSV
KSSV 2018-6-27
  2 个评论
Nour Aburaed
Nour Aburaed 2018-6-27
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 2018-6-27
Use imresize and change the dimensions so that, they are divisible by 512.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by