importing a raster image into matlab

4 Ansichten (letzte 30 Tage)
Hassan
Hassan am 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 Kommentar
Hassan
Hassan am 17 Apr. 2011
well, I deleted the lines 2,3 and 4 and it's working fine now.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

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

Melden Sie sich an, um zu kommentieren.


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

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by