2012-11-16 2 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

에 행 9487를 추출하기 위해 노력하고있다,하지만 여전히 작동하지 않는 것으로 나타납니다! –

+0

답장을 보내 주셔서 감사 데니스 누락이 나타납니다 – user1578688

+0

이것이 문제가되는지는 확실하지 않지만 서명되지 않은 변형 인 uint16 대신 int16을 사용하고 있습니다. 이 방법으로 해결되지 않으면 이미지를 업로드 할 수 있습니까? –

답변

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') 

참고는 8543.

당신이`}`