2013-07-08 1 views
3

16 비트 위성 이미지를 왜곡하려고합니다. Panchromatic 이미지가 있습니다. 내 참조 이미지는 8192x81920 픽셀이고 빨간색 채널 이미지는 4096x40960 픽셀입니다. warpAffine 또는 warpPerspective을 사용하면 행 값이 32767보다 큰 픽셀이 올바르게 왜곡되지 않습니다. 이것은 간단한 버그입니까? 변수 유형을 변경하여이를 수정할 수 있습니까?warpPerspective 및 warpAffine이 큰 이미지에서 작동하지 않습니다. 높이> 32k

warpPerspectiveInvoker 기능을 확인했지만 쉽게 수정할 수 없습니다.

+0

"작동하지 않음"은 무엇을 의미합니까? 구체적으로 말하십시오. 얼마나 많은 메모리를 PC에 있습니까? –

+0

이미지 왜곡에 사용하는 코드를 게시 할 수 있습니까? 그리고 예제 출력에 대한 링크일까요? (나는 당신의 질문으로 그것을 편집 할 수있다) – Aurelius

답변

3

현재 이미지를 32k 크기의 타일로 나눠서 각 개별 타일을 뒤틀 렸습니다. 현재 데이터 결과가 합리적인 것으로 보입니다.

3

OpenCV에서 open bug 인 것으로 보입니다. cv::warpPerspective()은 내부적으로 short을 사용하여 왜곡 맵을 생성합니다. 32767은 short의 최대 표현 가능 값이므로 이보다 큰 값은 문제를 일으킬 수 있습니다.

해킹을 시도하고 과 같이 더 큰 것으로 short 인스턴스를 바꿀 수는 있지만 작동하지는 않습니다. 그것은 시도 가치가있을 수도 있습니다.

관련 문제