2010-08-24 5 views
2

거기에 어떤 C++/C 오픈 소스 구현이 있습니까? 나는 2 점 구름이 있고 그들을 일치시키고 싶다. 어떤 생각?반복적 인 가장 가까운 포인트 라이브러리

+0

정확히 어떻게 일치 시키시겠습니까? 모든 다이어그램이나 예제가 도움이 될 것입니다. – Lazer

+0

개체의 두 점 구름 (고정 된 모델 모양 및 데이터 모양)이 있습니다! 지금 나는 모델에 데이터를 algin하려고하고 각 지점의 거리를 얻을 ... 나중에 나는 데이터 모양을 분류하기 위해 svm 에서이 거리를 사용하고 있습니다. 내가 지금 필요한 ICP의 효율적인 구현, 어쩌면 계층 적? 내 포인트 클라우드는 30.000 포인트로 구성됩니다 ... – iniesta

답변

0

나는 얼마 전 ddj.com에서 가속 라인 검색에 대한 기사를 썼다. 나는 당신이하고 싶은 것을 정확히 이해하지 못하지만 거기에 나타난 접근법은 전체 영역을 주어진 탐색 폭의 "사분면 (quadrants)"으로 나눕니다. 이렇게하면 검색 시간이 크게 줄어 듭니다. 포인트와 함께 사용할 수도 있습니다.

http://www.drdobbs.com/cpp/198900559

0

당신은 클러스터 사이 Hausdorff distance

를 측정하여 점의이 두 클러스터를 비교할 수 있습니다. Hausdorff 거리가 클수록 클러스터가 다르다.

희망이 도움이됩니다.

1

나는 개인적으로 지금까지 사용하지는 않았지만, LibICP을 쐈어.

http://www.cvlibs.net/software/libicp.html

편집 : 나는 혼자가 아니라 좋은 경험을 그것을 시도 - 라이브러리 설명서와 예제 코드의 짧습니다. 또한 나는 저자들로부터 많은 도움을받지 못했다.

+0

'libicp'의 SVD가 수렴하지 않으면 (30 회 반복의 한계가 하드 코딩 됨), stderr에 무엇인가를 인쇄하고 계속 진행할 것이라는 점도 주목할 가치가 있습니다. 코드에 비 집중에 대해 알려주는 API는 없습니다. – nh2