accelerate imread on large images

7 Ansichten (letzte 30 Tage)
mat
mat am 26 Apr. 2018
Kommentiert: mat am 30 Apr. 2018
hi
is there a way to accelerate imread on large (> 2GB) images?
thanks a lot,
mat
  3 Kommentare
Ameer Hamza
Ameer Hamza am 28 Apr. 2018
Is 2GB size of a single image, or several images together make up 2GB?
mat
mat am 29 Apr. 2018
hello Ameer,
just 1 image.
thanks again,
mat

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Walter Roberson
Walter Roberson am 29 Apr. 2018
Not in general.
If the images are TIFF images, then you could get more flexibility about how you read by using the Tiff() class. This will not necessarily reduce total time to read an image, but if it turned out that you only needed part of the image then it would permit you to read it in pieces if it was stored the right way.
If you are using blockproc() then there is an option to process a file instead of a matrix. blockproc() will take advantage of any facilities offered by the type of image to read only a section at a time. In practice this probably means special handling for TIFF but not for much else -- though in theory it might also be able to handle some JPEG images in sections.
  4 Kommentare
mat
mat am 30 Apr. 2018
hi walter, unfortunately i don't have the said toolbox but i really appreciate all your comments !! thanks !
Walter Roberson
Walter Roberson am 30 Apr. 2018
You can get an estimate for how long the decoding takes by using timeit() on imread and subtract off timeit of fileread() of the tiff. fileread is not necessarily the fastest possible way to read but it is relatively low overhead.
Just be sure to repeat the tests to account for the fact that the OS might be reading the file into cache, so the first access might be slow.

Melden Sie sich an, um zu kommentieren.


mat
mat am 30 Apr. 2018
timed both on a 4.8gb rgb tiff file. imread - 75sec fileread - 0.3sec !! - resulting in a much smaller size vector ofcourse a lot of decoding and formatting going on..
if only i could efficiently reconstruct the tiff file from the this fileread character vector..
  2 Kommentare
Walter Roberson
Walter Roberson am 30 Apr. 2018
Perhaps you could try something like https://blog.idrsolutions.com/2015/08/how-to-read-tiff-images-in-java/ to see how the performance goes?
mat
mat am 30 Apr. 2018
good point, i shall try this. tx.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by