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 件のコメント

Hassan
Hassan 2011 年 4 月 17 日
well, I deleted the lines 2,3 and 4 and it's working fine now.

サインインしてコメントする。

回答 (2 件)

Walter Roberson
Walter Roberson 2011 年 4 月 15 日

0 投票

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 件のコメント

Hassan
Hassan 2011 年 4 月 17 日
Thanks for the comment. the page you refered to, is ENVI's help file. There's nothing about that function.

サインインしてコメントする。

Chethan S
Chethan S 2011 年 4 月 17 日

0 投票

If you have Image Processing Toolbox you could easily use imread to read the image and imshow to display it.

1 件のコメント

Hassan
Hassan 2011 年 4 月 17 日
thanks for the comment. the format of my image is bsq (ENVIformat). I tried imread function but it couldn't recognize the format.

サインインしてコメントする。

タグ

質問済み:

2011 年 4 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by