importing a raster image into matlab

4 vues (au cours des 30 derniers jours)
Hassan
Hassan le 15 Avr 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 commentaire
Hassan
Hassan le 17 Avr 2011
well, I deleted the lines 2,3 and 4 and it's working fine now.

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 15 Avr 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 commentaire
Hassan
Hassan le 17 Avr 2011
Thanks for the comment. the page you refered to, is ENVI's help file. There's nothing about that function.

Connectez-vous pour commenter.


Chethan S
Chethan S le 17 Avr 2011
If you have Image Processing Toolbox you could easily use imread to read the image and imshow to display it.
  1 commentaire
Hassan
Hassan le 17 Avr 2011
thanks for the comment. the format of my image is bsq (ENVIformat). I tried imread function but it couldn't recognize the format.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by