How to read large tiff or img file?
4 次查看(过去 30 天)
显示 更早的评论
My files are huge with [12200,5010] rows and column. I read them in the following format:
fid=fopen('lc60_4.img','r'); LU=fread(fid,[12200,5010]); fclose(fid)
LA=imread('lai4_240.tif');
As I have 8 image to read matlab cant handle this. How can I solve this problem? Thanks
0 个评论
采纳的回答
Chad Greene
2015-4-11
If you don't need the whole image, you can specify a region of pixels by range of rows and columns:
A=imread(filename,'PixelRegion',{rows cols});
0 个评论
更多回答(1 个)
Image Analyst
2015-4-11
Don't have them all in memory at one time. Just process one image at a time.
One file is not really all that huge. If it's a uint8 image, that's about 61 MB - about the size of a typical color digital photo. Eight of them is getting up there particularly if you're using some other temporary images along the way. You might use clear() to delete any scratch/temporary variables as soon as you're done with them to free up memory.
4 个评论
Image Analyst
2015-4-11
Yes, but when I suggested to read them image by image you said no. So if image by image is no good, then how is line by line going to work?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!