2012-11-16 92 views
0

我有一個關於如何在Matlab上加載Landsat圖像的問題。我的形象是格式.IMG,並具有以下信息:在Matlab中加載衛星圖像

Columns and rows= 9487 x 8543 
Number of bands= 6 
Cellsize= 25 x 25 
Source Type= continuous 
Píxel type= unsigned integer 
Pixel Depth= 16 bit 
Scale factor= 0,9996 

這是我的代碼:

IM= multibandread('2000.img',[9487, 8543, 6],'int16',0,'ieee-le',{'Row','Range',[9487 8543]);

但有以下錯誤:

錯誤:非平衡的或意外的括號或托架。

我試圖改變,但它不起作用。我能做什麼?

由於提前,

艾瑪

+4

看樣子你缺少一個'}' –

+0

感謝您的答覆丹尼斯,但它仍然沒有工作! – user1578688

+0

不知道這是否是一個問題,但我看到您使用的是int16而不是未簽名的變體uint16。如果這不能解決它,也許你可以上傳圖像? –

回答

2

丹尼斯是正確的,你缺少一個右大括號。它應該支架和括號之間的插到底這樣的:

IM= multibandread('2000.img',[9487, 8543, 6],'int16',0,'ieee-le',{'Row','Range',[9487 8543]});

+0

謝謝!我已經添加了它,但它不起作用。我收到以下錯誤。錯誤使用==> fopen 無效的數據格式。 錯誤==> multibandread> parseInputs at 317 fid = fopen(filename,'r',byteOrder); 錯誤==> multibandread at 112 info = parseInputs(文件名, 變暗,... – user1578688

0

我想你可能要完全離開子的說法了,這個除了使用無符號UINT16,請嘗試以下操作:

multibandread('2000.img',[9487, 8543, 6],'uint16',0,'ieee-le') 

注意與當前通話,似乎您試圖提取行9487至8543.