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 Kommentare

Matt J
Matt J am 2 Feb. 2018
Bearbeitet: Matt J am 2 Feb. 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 am 2 Feb. 2018
m=imresize(m,1/4,'bicubic');
Walter Roberson
Walter Roberson am 3 Feb. 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?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 2 Feb. 2018

0 Stimmen

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

Gefragt:

MR
am 2 Feb. 2018

Kommentiert:

am 3 Feb. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by