Model a game of checkers from a live video feed where the camera is not static.
- Sharpen and equalize histogram to find corners more easily
cv::findChessboardCorners
and manually compute the exterior cornerscompleteBoardCorners
- Median blur to obtain better color segmentation results
- Red segmentation, yellow segmentation
- Gaussian blur to obtain better results with the Hough Circle transform
- Apply the Hough Circle transform to the color segmentations to find all the red and yellow circles
- Check if the circles’ center is (reasonably) inside the 4 corners that define a game position
$ cmake . && make
$ ./checkers bin/resized.mp4