2016-06-29 9 views
1

무인 항공기에서 GoPro HERO 4를 사용하여 지리 참조 연산이 필요한 이미지를 캡처하고 있습니다. 이상적으로 나는 무인기에 상대적인 캡처 된 이미지의 코너 좌표가 필요합니다. '경사 공중 이미지의 좌표 계산

  1. 고도보기
  2. 수평 및 수직 필드
  3. 회전 3 개 축에서

내가 솔루션의 몇 가지를 발견하지만 난 할 수 있습니다

나는 카메라의가있다 내 목적을 위해 그것들을 번역한다. 내가 찾은 가장 가까운 하나는 여기에 https://photo.stackexchange.com/questions/56596/how-do-i-calculate-the-ground-footprint-of-an-aerial-camera이지만 어떻게 사용 가능한지 알아낼 수 없습니다. 특히 피치와 롤 모두를 고려해야 할 때.

도움을 주셔서 감사합니다.

편집 : 저는 Java로 소프트웨어를 코딩합니다.

+0

코너의 좌표는 무엇입니까? 카메라의 초점/투영 평면이나 질문과 같이 땅의 네 모서리를 의미합니까? 후자를 의미하는 경우에도 여전히 가능하지만 벡터 기반 접근 방식을 사용하는 것이 더 효율적일 수 있습니다. –

+0

예, 사다리꼴을 정의하는 지상의 네 모퉁이를 의미합니다. 당신은 내가 지상에서 카메라에서 나오는 4 개의 "광선"의 교차점을 찾고 있어야한다는 것을 암시하고 있습니까? –

+0

예, 그것들을 계산하고 표준 광선 - 평면 교차 테스트를 수행해야합니다. 당신이 준 링크 에서처럼 삼각 함수를 사용하여 그것을하려고한다면 ... 음, 행운을 빈다. –

답변

2

세 축 모두에서 회전이있는 경우이 행렬 (http://planning.cs.uiuc.edu/node102.html)을 사용하여 카메라의 전체 (3x3) 회전 행렬을 구성 할 수 있습니다. 전면

  • Y 측 (좌측)
  • 위한

    • X 축 : 회전 행렬는로 카메라 축을 정의 (카메라의 프레임에 IE) 식별이라고 가정

      ,

    • Z 카메라 프레임에서

    까지 광선이 가지고에 대한 방향 :

    enter image description here

    이 방향을 계산하고 매트릭스를 사용하여 회전하여 실제 축을 얻습니다. 카메라의 실제 좌표를 소스로 사용하십시오.

    지상의 점을 계산하려면 : https://www.cs.princeton.edu/courses/archive/fall00/cs426/lectures/raycast/sld017.htm

    +0

    정말 고마워요! –

    +0

    @MilanZelenka 문제 없습니다. 그리고 한 가지 더 - 광선 벡터를 정규화해야 할 수도 있습니다. –

    +0

    저는 계산 결과를 확인하기 위해 몇 가지 테스트를 실행했으며 확실하지 않은 것을 발견했습니다. 카메라를 아래로 향하게하고 광선에 방향이 있습니다 : (+ -tan (FOVv/2), + -tan (FOVh/2), -1). 이제 내가 맞다면 왼쪽 하단과 오른쪽 상단 사이의 각도는 카메라의 대각선 FOV와 일치해야하지만 그렇지 않습니다. 카메라의 사양은 FOVh = 64.4, FOVv = 37.2 FOVd = 73.6입니다. 두 벡터는 (0.336,0.629, -1.0)과 (-0.336, -0.629, -1)입니다.0). 그들 사이의 각도는 71도입니다. 내가 여기서 뭔가를 놓치고 있니? 정규화는 결과를 변경하지 않습니다. –