importing a raster image into matlab

6 visualizzazioni (ultimi 30 giorni)
Hassan
Hassan il 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 Commento
Hassan
Hassan il 17 Apr 2011
well, I deleted the lines 2,3 and 4 and it's working fine now.

Accedi per commentare.

Risposte (2)

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

Accedi per commentare.


Chethan S
Chethan S il 17 Apr 2011
If you have Image Processing Toolbox you could easily use imread to read the image and imshow to display it.
  1 Commento
Hassan
Hassan il 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.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by