PlayChessWithAWebCam/BoardFinder
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]