Extract multiple images from a single image
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 19 de Feb. de 2019
I estimate there are more than 20 million images that size that could be extracted.
Are there restrictions as to how much overlap is permitted between the output images?
MD RESHAD UL HOQUE
el 19 de Feb. de 2019
Walter Roberson
el 19 de Feb. de 2019
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.
Respuestas (1)
Walter Roberson
el 19 de Feb. de 2019
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 comentario
MD RESHAD UL HOQUE
el 19 de Feb. de 2019
Categorías
Más información sobre Image Arithmetic en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
