How to read a large .img file

1 次查看(过去 30 天)
I have a 4 GB image file that Matlab is choking on. I'd like to get this file into Matlab. Here is the code that makes my computer freeze:
fid=fopen('myimage.img','r','l');
M=fread(fid,[48333,41779],'uint16');
fclose(fid);
Equivalent code works well for a similar, smaller image, but this image is large. Subsetting into quadrants or sixteenths would be fine by me, but I don't know how to subset for a .img file. I know subsetting a tiff works with imread. Any suggestions for getting this big image into Matlab?

采纳的回答

José-Luis
José-Luis 2014-7-17
编辑:José-Luis 2014-7-17
Sounds like a job for memmapfile()
doc memmapfile
Alternatively, you could split your image beforehand.
  2 个评论
Chad Greene
Chad Greene 2014-7-17
Thanks for pointing me to memmapfile, José-Luis. This might just be the ticket.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Denoising and Compression 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by