I have a big 3-dimensional array (1500 rows, 500 columns, 4 bands) in band-sequential (BSQ)format. I tried Multibandread() function but it takes ages to read the data. Is there any faster way to import the data into Matlab? I appereciate your help.

 Akzeptierte Antwort

Jan
Jan am 20 Apr. 2011

1 Stimme

Did you try a simple FREAD?
FID = fopen(FileName, 'r');
if FID < 0; error('Cannot open file'); end
% Skip the header here...
Data = fread(FID, Inf, 'uint8=>uint8'); % Choose the correct format!
fclose(FID);
Data = reshape(Data, [500, 1500, 4]);
Data = permute(Data, [2, 1, 3]);

Weitere Antworten (0)

Tags

Gefragt:

am 19 Apr. 2011

Community Treasure Hunt

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

Start Hunting!

Translated by