2013-03-07 2 views
3

나는 직사각형의 2 또는 3면을 만드는 3D 점이있다. 큐브의 모서리 좌표를 어떻게 계산할 수 있습니까? 가능한가? 업데이트 pcl pcl3D 좌표계에서 직사각의 점을 찾는다

pcl

pcl : https://github.com/CPIGroup/3d-Camera-scanDimensions

+4

질문을 다시 말해 주시겠습니까? 나는 "각도의 포인트"가 무슨 뜻인지 이해하지 못합니다. 꼭지점을 의미합니까? –

+1

각도의 의미는 무엇입니까? 점 사이의 각도, 점 법선? – meyumer

+6

정확하게 이해한다면 그는 큐브의 2 또는 3면에 모두 점 집합을 가지고 있습니다. 그는 큐브 모서리의 좌표를 계산해야합니다 (러시아어 "각도"와 "모퉁이"는 같은 단어입니다). – user2116939

답변

1

이 그냥 생각이 아닌 검증 된 방법이다.

먼저 비행기를 찾으십시오. 무작위로 3 점을 선택하고, 그들을 통과하는 평면을 찾고, 4 개의 매개 변수를 정규화하십시오. 1000 번 정도 반복하십시오. 숫자가 1000 개짜리 4 개의 튜플로 끝납니다. clustering analysis 메서드 중 하나를 사용하여 매우 가까운 4 개 튜플 그룹 2 개 또는 3 개를 찾습니다. 각 그룹의 평균. 이것들은 대략 박스면의 평면입니다.

이제 좀 더 정확하게 작성하십시오. 각 평면에 대해, 다른 평면에 가까이 있지는 않지만 가까이있는 모든 점을 찾습니다 ("닫음"의 일부 값은 아마도 클러스터링 방법을 사용하여 찾을 수 있습니다). 각 포인트 그룹에 대해 least squares을 사용하여 가장 적합한 평면을 찾습니다.

비행기가 3 대있는 경우 큰 이미지입니다. 그것들을 교차 시키면 정점과 3 개의 모서리가 생깁니다. 두 비행기의 경우 가장자리가 하나뿐입니다. 어느 쪽이든, 이제 다른 가장자리를 찾으려고 할 수 있습니다. 단순하게하기 위해 비행기를 XY 평면으로, 알려진 모서리를 X 축으로 간주하십시오. 이제 대부분의 점이 왼쪽 (오른쪽으로)에 있도록 가장 왼쪽 (가장 오른쪽) 수직선을 찾아야합니다. 모든 점을 X 축에 투영합니다. 이제는 원래의 문제에 대한 1 차원의 경우가 있습니다. 일정한 간격에 많은 임의의 포인트가 있으며 간격을 찾습니다. 다시 클러스터링 방법을 사용하십시오.

1

나는 이것에 익숙하지 않지만 RANSAC을 사용할 수 있습니까? .IT는 즉시로도 planar segmentation

을 포함하여 많은 유용한 기능을 가진 꽤 인상적 프로젝트 또한 당신이 포인트 클라우드 라이브러리 (PCL)를 보라 할 수있는 plane detection from pointclouds using RANSAC

에 많은 논문 것 같다 비행기가 감지되면 훨씬 더 단순해야하는 모서리/모서리를 찾아야합니다.

관련 문제