在matlab中,我想從一個結構化的,相當大的文件(大小:18 + 2048 * 2048字節)中讀取,其中18個第一字節分配給頭,其餘的是像素圖像強度。 這裏關心的是速度。正如您在下面的代碼中看到的那樣,對文件的多次訪問顯着降低了性能。 你能建議從文件中讀取這些內容的更快速的方式嗎?例如使用「fread」函數從緩衝區中讀取整個事物。在Matlab中讀取一個大的結構化文件
fid = fopen(fileName, 'r', 'b'); % 'r' readonly and 'b' big endian
a= fread(fid,1,'uint16');
b1= fread(fid,1,'uint32');
b2= fread(fid,1,'uint32');
c1= fread(fid,1,'uint32');
c2= fread(fid,1,'uint32');
img=zeros (...
for i= (b1 + 1) : (b2 + 1)
for j= (c1 + 1) : (c2 + 1)
img(i, j) = fread(fid,1,'uint16');
end
end
請注意方向 – Nzbuu 2012-01-31 16:04:09