IDL에서 BSQ 파일 형식을 읽습니까?

iv id = “48fa7db514에서 BSQ 파일 형식을 여는 방법이 있습니까? “>

IDL ?

댓글

  • idl? 확장하세요
  • 가 도움이 될지 확실하지 않습니다. 더 나은 답변을 제공하려면 ' 더 많은 정보가 필요합니다.
  • BSQ 및 IDL에 대한 링크가 추가되었습니다. 내가 찾은 BSQ에 대한 유일한 다이어그램은 Esri 도움말에 있었지만 ' Esri 소프트웨어가 필요하다고 제안하지는 않습니다.

답변

ENVI와 함께 IDL을 사용하고 있습니까, 아니면 단독으로 사용합니까?

ENVI와 함께 IDL을 사용하는 경우 ( ENVI가있는 경우) 표준 ENVI 파일 읽기 명령이 작동합니다. 예 :

ENVI_SELECT, fid=fid, dims=dims, pos=pos ; Shows a dialog box to allow you to select a file image = ENVI_GET_DATA(fid=fid, dims=dims, pos=pos) ; Gets the data into an array called image 

ENVI가 없으면 좀 더 어렵습니다. 표준 IDL 바이너리 파일 읽기 명령을 사용하여 BSQ 데이터를 읽을 수 있습니다 ( http://www.msi.umn.edu/software/idl/tutorial/idl-rwd.html#Reading%20Binary%20Data 참조). 이미지의 크기 (샘플, 라인 및 밴드)를 파악하여 현명하게 분할 할 수 있습니다.이 정보는 종종 .hdr 파일에 저장되며 위의 방법을 사용할 때 ENVI가 자동으로 읽습니다.

Answer

IDL은 BSQ (Band Sequential) 바이너리 파일 형식 구조를 [Column, Row, Band]로 읽습니다.

 BSQ, BIL and BIP are multiband encodings where: a 8-bit Grey scale image would encode 1 band of data a 24-bit RGB additive color image would be 3 bands of data a 32-bit CMYK subtractive color image would be 4 bands of data Discrete multispectral images, or contiguous hyperspectral images would have increasing numbers of bands. 

따라서 @robintw에서 언급했듯이 이미지의 크기와 소스 / 센서를 알아야합니다. BSQ 인코딩 외에 데이터를 IDL 대화 형 배열입니다. 열 수, 행 수, 밴드 수 및 데이터 유형이 필요합니다. 물론 IDL 외부의 지리 공간 작업의 경우 이미지 등록을위한 최소 3 개의 제어점의 공칭 픽셀 크기와 좌표를 알아야합니다. . 및 p에 대한 추가 세부 정보 ESRI Grid World 파일을 조작하십시오.

BSQ 데이터를 디코딩하기 위해 IDL 바이너리 데이터 유형 선택은 다음과 같습니다.

 0 Undefined 1 Byte 2 Integer 3 Longword Integer 4 Floating point 5 Double-precision floating 6 Complex 7 String 8 Structure 9 Double-precision complex 10 Pointer 11 Object reference 12 Unsigned Integer 13 Unsigned Longword Integer 14 64-Bit Integer 15 Unsigned 64-Bit Integer 

따라서 최소한의 정보로 현재 : 데이터를 “열기”하려면 새 IDL 절차를 만듭니다.

 make array of (columns,rows,bands) assign to working_array open the bsq_image for reading nested loops to read-in binary_values for each band for each row for each column read the binary_value of type from the bsq_image write the data to the working_array display working_array ;;ordered as needed for false color aesthetics 

댓글

  • @Yudine, 첨부 파일이나 세부 정보가 있어야하나요?
  • @ Stuart, 파일 세부 정보입니다. ENVI 설명 = {파일 크기 조정 결과, x 크기 조정 비율 : 1.000000, y 크기 조정 비율 : 1.000000. [Thu Jan 13 18:15:18 2011]} 샘플 = 338 개 라인 = 308 개 밴드 = 125 헤더 오프셋 = 0 파일 유형 = ENVI 표준 데이터 유형 = 2 인터리브 = bsq 센서 유형 = 알 수없는 바이트 순서 = 0 x 시작 = 459 y start = 1735 Number of bands = 125
  • @Yudine, 이미지를 IDL 배열로 읽는 데 필요한 모든 것이있는 것 같습니다. 샘플 338 개-> 열, 308 행-> 행, 125 개 밴드. 데이터 유형 2 정수 (아마 0-255). 그리고 바이트 순서는 0, 즉 Little Endian이므로 Windows PC에서 직접 읽기 (1 인 경우 (Swap_If_Big_Endian)를 변환해야합니다. 따라서 IDLDE GUI에서 새 Pro를 만들고 의사 코드를 따릅니다.) Michael Todd의 읽기 UIdaho의 수업 연습 링크가있는 위의 ' 메모는 코드 구문에 도움이 될 것입니다. 그러면 표시 할 배열의 밴드를 결정하는 것이 유일한 문제입니다. 결합합니다.

답변

저는 bsq 또는 idl에 대한 경험이 없지만 gdal이 bsq를 지원하기 때문에 , gdal_translate를 사용하여 파일을 geotiff로 변환 할 수 있습니다. IDL은 tif 파일 읽기를 지원하는 것 같습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다