imresize() with very large files

I am trying to resize/downscale very large RGB images (86400x57600x3) by a factor of 4 (bicubic, factor 1/4) using imresize(), but I run into the 'file size limit' of the function. For smaller images, I could do each RGB layer separately and then reconstruct the image, but at this size even the 86400x57600x1 layers are too big for the function. Any way to circumvent this limit? Any clever trick I could use to end up resizing it?
Thanks.

3 comentarios

Matt J
Matt J el 2 de Feb. de 2018
Editada: Matt J el 2 de Feb. de 2018
It is not clear what code you are running or which function specifically is raising the error. IMRESIZE itself has no option to operate on files.
MR
MR el 2 de Feb. de 2018
m=imresize(m,1/4,'bicubic');
Walter Roberson
Walter Roberson el 3 de Feb. de 2018
I just had a look at the source code, and I cannot seem to find any message about file size limits. Could you post a complete copy of the error message?

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 2 de Feb. de 2018

0 votos

Possibly blockproc() and passing in the file name. However, the seams between the blocks might lead to problems.

Preguntada:

MR
el 2 de Feb. de 2018

Comentada:

el 3 de Feb. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by