Extract multiple images from a single image

14 次查看(过去 30 天)
I have a big image (3064x7535x3). I need to crop multiple images ( as many as possible) with the size of 218x178x3 from that single image and save those image in .jpg on a forder.
I could not figure it out how to do it. Any suggestion?
Thanks
  3 个评论
Walter Roberson
Walter Roberson 2019-2-19
So to confirm, you want to output
BigImage(1:218, 1:178, 1:3)
and
BigImage(2:219, 1:178, 1:3)
and
BigImage(1:218, 2:179, 1:3)
and so on? If so, if every consecutive subset of the appropriate size is to be output, then you will have 2847 x 7358 = 20948226 different output images to write to files.

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2019-2-19
C = mat2cell(YourBigImage(1:3052, 7476,:), 218*ones(1,4), 178*ones(1,42), 3);
Now C will be a 4 * 42 cell array, each entry of which is a non-overlapping sub-image from the original array. You can then save each of those 168 images to an individual file. You will have to decide on the naming convention for the file, though.
  1 个评论
MD RESHAD UL HOQUE
MD RESHAD UL HOQUE 2019-2-19
I follow your code suggestion. But got this error.
I attached the screenshort of error message.
problm.png

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by