ENVI (Classic) ROI의 이진 형식은 무엇입니까?


11

저는 ENVI / IDL 사용자로 가득 찬 사무실에서 Pythonist입니다. 격차를 해소하는 데 도움이되는 몇 가지 도구를 만들었지 만 큰 장애물 중 하나는 동료들이 많이 사용하는 ENVI Classic .roi 파일입니다.

텍스트 기반 형식을 구문 분석하기 쉽기 때문에 ENVI 5 ROI를 Python으로 쉽게 가져올 수 있습니다. 그러나 ENVI Classic .roi 파일의 이진 형식에 대해서는 이해가되지 않습니다.이 파일은 그룹의 많은 데이터 교환을 구성합니다. 누구나 이러한 파일을 읽거나 쓰는 코드가 있거나 파일이 어떻게 진행되는지에 대한 통찰력이 있습니까?

앞뒤로 이동할 때마다 ENVI 5를 시작하는 것이 다소 지루합니다. 가능하면 소스에서 문제를 해결하고 싶습니다.

답변:


1

저는 파이썬 전문가는 아니지만 표준화 된 ASCII 파일을 구문 분석하고 읽고 쓸 수있는 스크립트를 이미 작성하고 있다면 비교적 쉽게 수행 할 수 있습니다.

Harris Geospatial Solutions에 따르면 현재 ENVI, ENVI 이진 이미지 파일 개발자 (여기에서 설명) 는 이진 파일과 ASCII 헤더 파일 (여기에서 정의 ) 로 구성되어야합니다 . ENVI 이미지 파일을 읽으려면 ASCII 헤더를 구문 분석하고 데이터 유형 (정수, 플로트, 부호있는 / 서명되지 않은 등), 밴드 수, 인터리브 (대역 순차, 밴드 인터리브-바이- 픽셀 또는 줄로 인터리브 된 ), 바이트 순서 및 기타 관련 데이터 정보. 위에 링크 된 헤더 파일 형식 설명과 예제를 자세히 살펴보십시오.

이제 한 번에 읽을 바이너리의 청크, 순서, 그리고 어떤 밴드가 속하는지 알았으므로 이미지 데이터읽을 준비가되었습니다 .


ENVI ROI는 이미지 파일로 저장됩니까? Harris Geospatial 에 따르면 "부모 래스터와 동일한 공간 크기"를 가지고 있다고 생각 하지만 UI에서 드래그하는 동안 절반 픽셀 (대각선 이등분)이 선택되어 ROI를 생성하는 것처럼 보입니다. (삼각형의 방향을 지정하기 위해) 일종의 2 비트 래스터 플래그가없는 한 일종의 벡터 형식. 어쨌든, 나는 당신이 제안하고 내가 얼마나 멀리 있는지 알 수 있도록 노력할 것입니다!
Daven Quinn

"ENVI 바이너리 이미지 파일"은 확장자가없는 파일과 확장자가 ".hdr"인 파일 쌍이라고 생각합니다. 그러나 .roi 파일이 다른 이진 형식 인 것 같습니다. 그건 그렇고, .hdr 파일을로드하기
만하면

아니요, 형식에 따라 GDAL로 읽을 수있는 헤더뿐만 아니라 ROI를 직접 읽고 쓰는 솔루션을 찾고 있습니다.
Daven Quinn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.