importing a raster image into matlab

I have a 3 dimensional array in ENVI format (bsq format). I wonder how can I import it in Matlab.I used the following code but it's for writing a new array and not for reading an exisiting array into Matlab. I apperciate your help in advance.
rows=743; cols=210; bands=6;
filename = 'myfile';
fid = fopen(filename, 'w', 'ieee-le');
fwrite(fid, 1:rows*cols*bands, 'float');
fclose(fid);
im1 = multibandread(filename, [rows cols bands], ...
'float', 0, 'bsq', 'ieee-le' )

1 Comment

well, I deleted the lines 2,3 and 4 and it's working fine now.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 15 Apr 2011
I found a page with documentation that suggests that the multibandread() command should work, as long as you match datatypes and byte order properly.

1 Comment

Thanks for the comment. the page you refered to, is ENVI's help file. There's nothing about that function.

Sign in to comment.

Chethan S
Chethan S on 17 Apr 2011
If you have Image Processing Toolbox you could easily use imread to read the image and imshow to display it.

1 Comment

thanks for the comment. the format of my image is bsq (ENVIformat). I tried imread function but it couldn't recognize the format.

Sign in to comment.

Asked:

on 15 Apr 2011

Community Treasure Hunt

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

Start Hunting!