PlayChessWithAWebCam/BoardFinder

From BITPlan Wiki
Jump to navigation Jump to search

Source Code

see class BoardFinder in module boardfinder tests are in the: test_BoardFinder module

Algorithm

Finding the chessboard

OpenCV has a function findChessboardCorners which is usually used for camera calibration and not really intended for the use case of "real chessboards".

Still it is very helpful and used as a basis for the BoardFinder.

Initializing the BoardFinder

def __init__(self, image, video=None,debugImagePath="/tmp/pcwawc/"):
        """ construct me from the given input image"""
        if video is None:
            video=Video()
        self.video=video    
        self.image=image
        self.debugImagePath=debugImagePath
        self.height, self.width = self.image.shape[:2]

Examples

see testMedia source folder

ChessBoard001.jpgImage001-corners-7x7.jpg ChessBoard002.jpgImage002-corners-5x5.jpg ChessBoard003.jpgImage003-corners-4x5.jpg ChessBoard004.jpgImage004-corners-7x7.jpg ChessBoard005.jpgImage005-corners-5x5.jpg ChessBoard006.jpgImage006-corners-5x5.jpg ChessBoard007.jpgImage007-corners-5x5.jpg ChessBoard008.jpgImage008-corners-7x7.jpg ChessBoard009.jpgImage009-corners-7x7.jpg ChessBoard010.jpgImage010-corners-6x7.jpg ChessBoard011.jpgImage011-corners-7x7.jpg ChessBoard012.jpgImage012-corners-4x6.jpg ChessBoard013.jpgImage013-corners-5x7.jpg