2011-10-11 3 views
1

이것은 실제로 2D 문제는 아니지만 실제로는 3D 문제를 단순화합니다. 그래서 그것은 곧바로 이미지 분석 질문이 아닙니다.Hough Transform을 사용하여 선을 찾고 또한이 선에서 발견 된 점을 추적해야합니다.

3D 서페이스 맵을 렌더링하는 데 사용할 2D 점 집합이 있습니다. 모든 점을 꼭짓점으로 그릴 수는 있지만 이러한 점 중 많은 부분이 선과 훨씬 간단한 표현이 가능한 다른 단순한 모양을 형성하므로 낭비입니다. OpenCV에서 Hough Transform을 사용하여이 라인을 찾을 수 있습니다. 그러나 OpenCV 함수는 내 세트의 어떤 점이이 라인에 놓여 있는지 알려주지 않습니다.

나는 는 허프 변환에있는 라인에 있지 거짓말을 할 수 있다는 점들의 집합 중 하나를 알아야합니다, 그래서 정점로 렌더링할지, 또는 을 * 그 사람들은 그래서 렌더링하지 알고 그들.

즉, 더 이상 그릴 필요가없는 정점을 어떻게 든 제외 할 수 없다면 단순화 된 모양을 찾는 것이 좋습니다.

다른 세부 정보 : 응용 프로그램은 렌더링해야 할 수도 있고하지 않을 수도있는 새로운 지점을 지속적으로 추가하고 있습니다. 필자는 필요하다면 (렌더링 프레임 당 한 번) 전체 점 집합에 대해 Hough Transform을 다시 실행할 수 있지만 이미지가 반드시 그렇게 많이 변경되지는 않으므로 다시 비효율적이라는 것을 알 수 있습니다. 문제를 해결할 다른 방법이 있습니까?

+0

표준 Hough 선 변환 대신 PPHT를 사용하면 무한 선 대신 선분의 끝점이 반환됩니다. (1) 호프 라인의 방정식을 만족시키고 (2) 두 엔드 포인트 사이에 떨어지는 지 확인하는 간단한 문제입니다. – AruniRC

답변

0

호프 변환은 선형 방정식을 제공합니다 (즉, 세그먼트가 아닌 무한히 긴 선).

이 방정식을 얻은 후에는 far each point is from a line을 테스트하여 라인에 있는지 여부를 결정할 수 있습니다 (최대 거리 제공).

새 포인트를 추가 할 때 동일한 테스트를 수행하여 기존 라인에 충분히 근접한 지 확인할 수 있습니다.

+0

확률론적인 hough transform을 사용하여 선분을 제공하지 않겠습니까? http://opencv.willowgarage.com/documentation/feature_detection.html#houghlines2 – AruniRC