2010-08-12 13 views
4

나는 (GPS로부터) 초점 거리, 픽셀 수, 크기 및 위치를 알고있는 많은 이미지를 가지고있다. 그들은 모두 상업적으로 이용 가능한 카메라로 지상에 찍힌 높은 비스듬한 방식입니다.이미지의 픽셀 간 유클리드 거리를 측정하는 알고리즘

alt text http://desmond.yfrog.com/Himg411/scaled.php?tn=0&server=411&filename=mjbm.jpg&xsize=640&ysize=640

하면 어떤 이미지 내의 특정 픽셀 사이의 유클리드 거리를 계산하기위한 최적의 방법이 될 것인가? 그것이 실제로 가능하다면.

+2

사진의 두 점 사이의 실제 거리를 원하면 카메라의 피치가 필요하다고 생각합니다. 그러나 단지 한 개의 작은 "만"너비 대 그 호수의 너비를 원한다면 어떻게 될까요? – MPelletier

답변

2

전체 조경 모델링이 아닌 단순한 근사값을 원한다고 가정하면 너무 어렵지 않을 것입니다. 기본적으로 이미지의 첫 번째 근사값은 평면을 따라 보이는 초점 거리가있는 카메라로 축소됩니다. 따라서 우리는 3D 모델을 매우 쉽게 만들 수 있습니다. 그것은 바둑판 데모를 보는 고전적인 관찰자와 너무 멀리 떨어져 있지 않습니다.

일반적으로 그래픽 문제는 이미지를 렌더링 할 수 있도록 3D 모델을 2D로 투영하는 것입니다. 대부분의 프로그램이 요즘 OpenGL과 같은 API를 사용하여 방정식을 복잡하거나 이해하기가 어렵지 않습니다. 3D Graphics In Pascal의 예제를 사용하여 첫 번째 코드를 작성했으나 다른 유사한 소스가 많이 있습니다 (하드웨어 API가 항상 사용되는 것은 아니지만).

유용한 점은 투영 방정식이 상호 교환 적이라는 점입니다. 이미지와 모델에 점이 있으면 투영을 통해 데이터를 다시 실행하여 원본 3D 좌표를 검색 할 수 있습니다. 할 것.

그래서 몇 가지 접근법을 제안합니다. 위의 코드를 직접 작성하거나 직접 OpenGL을 사용하십시오 (이 경우 GLUT toolkit을 권장합니다). 수학이 좋고 행렬을 조작하면 아무런 문제가 발생하지 않습니다. 솔루션을 더 세게 잡아서 재미있는 부분으로 추천합니다. 그렇지 않으면 OpenGL 방식을 사용합니다. 카메라/평면 근사값을 카메라/구형으로 전환하는 것이 좋습니다.

만약 당신의 요구에 충분하지 않다면 이론적으로 실제 조경 모델링이 가능할 것입니다. SRTM 데이터는 자유롭게 사용할 수 있지만 (가장 친절한 형식은 아니지만) GPS 위치와 함께 위와 동일한 알고리즘을 적용하는 메쉬 모델을 만들 수 있어야합니다.

관련 문제