2011-01-07 4 views
4

그래서 처음에 이미지에서 체스 판을 찾는 것은 쉽게 정의 된 객체이기 때문에 간단해야한다고 생각했습니다. 그러나 그것은 그렇게 쉬운 일이 아니며 누군가 체스 판 파인더 "cvFindChessboardCorners"가 OpenCV에서 어떻게 작동하는지 알고 있는지 궁금합니다. Ive는 인터넷 검색을 시도했지만 havnt는 알고리즘을 찾기 위해 관리했습니다. 필자는 아마도 다음과 같은 추측 : 찾기) 해리스 코너를 작은 클러스터이미지의 체스 판 찾기

A)
2를 제거하기 위해 개폐

1) 치화
2)
3) 이미지
의 모든 지점 사이의 거리 행렬을 만들기 4) ...?

B)
2) 무릎이 모든 중요한 라인들이 교차하는 검사하는)
3 변환 찾습니다. 한 지점에서 4 개 이상의 선이 교차하면이 선은 체스 판의 일부입니다. 여기에는 무한대의 점도 포함됩니다.
4)?

누구나 정확하게 알고 계시나요?

답변

4

꽤 복잡합니다 :) 정확하게 알고 싶다면 opencv의 소스가 보일 것입니다 - opencv 2.2에서는 modules/calib3d/src/calibinit.cpp 라인 219에 있습니다. 또한 컴파일 할 수있는 DEBUG_CHESSBOARD 컴파일 스위치가 있습니다. 그것이 어떻게 작동하는지보십시오.