MATLAB Answers

importing a raster image into matlab

14 views (last 30 days)
Hassan
Hassan on 15 Apr 2011
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
Hassan
Hassan on 17 Apr 2011
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
Hassan
Hassan on 17 Apr 2011
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
Hassan
Hassan on 17 Apr 2011
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.

Community Treasure Hunt

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

Start Hunting!