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?

댓글 수: 1

Ashish Uthama
Ashish Uthama 2014년 7월 18일
If you have a current version with Image processing toolbox, this blog post might be useful: "Dealing with “Really Big” Images: Block Processing"

댓글을 달려면 로그인하십시오.

 채택된 답변

José-Luis
José-Luis 2014년 7월 17일
편집: José-Luis 2014년 7월 17일

0 개 추천

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.
José-Luis
José-Luis 2014년 7월 17일
Glad to help.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

질문:

2014년 7월 17일

댓글:

2014년 7월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by