Chess Board Detector

1 개요

체스 보드 패턴을 탐색하는 알고리즘입니다.

2 알고리즘 상세 설명

Source Image Detect Result
Source Image Detect Result
Fig. Chess Board Detector

캘리브레이션을 위한 영역을 검출하는 알고리즘입니다. 왜곡 보정 및 카메라 파라미터 계산은 하지 않습니다.
계산된 영역을 캘리브레이션 영역으로 설정하여 카메라 파라미터를 추정하는데 사용됩니다.

3 파라미터 설정 및 사용 방법

4 예제 코드

CChessBoardDetector chessBoardDetector;
//////////////////////////////////
// 공통 파라미터 설정
//////////////////////////////////

//////////////////////////////////
// 추가 옵션 설정
//////////////////////////////////

chessBoardDetector.Execute();

int boardCount = chessBoardDetector.GetResultBoardCount();

for(int i = 0; i < boardCount; ++i)
{
    CFLQuad<double> flqRegion;
    chessBoardDetector.GetResultBoardRegion(i, flqRegion);
}
CChessBoardDetector chessBoardDetector = new CChessBoardDetector();
//////////////////////////////////
// 공통 파라미터 설정
//////////////////////////////////

//////////////////////////////////
// 추가 옵션 설정
//////////////////////////////////

chessBoardDetector.Execute();

long boardCount = chessBoardDetector.GetResultBoardCount();

for(long i = 0; i < boardCount; ++i)
{
    CFLQuad<double> flqRegion = new CFLQuad<double>();
    chessBoardDetector.GetResultBoardRegion(i, ref flqRegion);
}
chessBoardDetector = CChessBoardDetector()
"""
// 공통 파라미터 설정
"""

"""
// 추가 옵션 설정
"""

chessBoardDetector.Execute()

boardCount = chessBoardDetector.GetResultBoardCount()

for i in range(boardCount):
    flqRegion = CFLQuad[Double]()
    chessBoardDetector.GetResultBoardRegion(i, flqRegion)

5 관련 알고리즘

CCameraCalibrator, COrthogonalCalibrator, CGridOfDotsDetector, CGridOfCrossDetector, CGridOfRectangleDetector