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 个评论

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 个评论

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 个评论

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