Skip to main content

Checkerboard

PyPI version GitHub license

I could not find any libraries to find checkerboards robustly in Python, except for OpenCV. However, OpenCV's checkerboard tends to fail when the checkerboard is somewhat blurred or rotated.

Hence, this library was born. It may be slightly slower than OpenCV, but it will find that checkerboard.

Comparison of OpenCV vs this library (OpenCV on the left, checkerboard on the right): comparison

Quickstart

You can install checkerboard easily through pip:

pip install checkerboard

Then you can go ahead and detect checkerboards like so:

from checkerboard import detect_checkerboard

size = (9, 6) # size of checkerboard
image = ... # obtain checkerboard
corners, score = detect_checkerboard(image, size)

The corners returned are in the same format as the findChessboardCorners function from OpenCV, and are already computed to subpixel precision.

The score returned is a metric of the quality of the checkerboard detection. A perfectly detected checkerboard would have a score of 0, whereas a bad detection would have a score of 1.

References

The implementation of checkerboard detection is mainly based on libcbdetect and accompanying paper:

@INPROCEEDINGS{Geiger2012ICRA,
  author = {Andreas Geiger and Frank Moosmann and Oemer Car and Bernhard Schuster},
  title = {Automatic Calibration of Range and Camera Sensors using a single Shot},
  booktitle = {International Conference on Robotics and Automation (ICRA)},
  year = {2012}
} 

Metadata

Release files for checkerboard 0.2.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for checkerboard 0.2.4
File Interpreter ABI Platform
checkerboard-0.2.4-py3-none-any.whl Python 3 none any Details

Release files / checkerboard-0.2.4-py3-none-any.whl

Download URL checkerboard-0.2.4-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fda1b835bb0c861fa90e8f3555629efc5457bd6c6afa36b4ca3c5c7b1417969
BLAKE2b-256 checksum
How to use checksums
f47ddf224f624bfec4ca0a32d36bcb4b944918964cb665715d3db3689cc50c2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

0.2.4 This release

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page