В matlab я хотел бы прочитать из структурированного и довольно большого файла (размер: 18 + 2048 * 2048 байт), где 18 первых байт назначены заголовку, а остальные - интенсивности пикселей.
Беспокойство здесь - скорость. Как видно из приведенного ниже кода, многократный доступ к файлу значительно снизил производительность.
Можете ли вы предложить более быстрый способ чтения этого содержимого из файла? например чтение всей вещи в буфере, из которого мы можем читать, используя функцию "fread".
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