Adrian Ilie
University of North Carolina at Chapel Hill
Computer Science Department

Checkerboard Maker

This web page describes a program for making checkerboard patterns used in geometric calibration. The image below shows a screenshot of the program.
The program reads the default printer and page size, and initializes the page size accordingly. The preview image on the right shows how the pattern will be printed. The printer, page size, and resolution are shown in the status bar. To change the printer and/or page size, press the Setup button in the Commands group. The program will show a standard printer selection dialog, allowing you to choose the printer, paper size, and orientation.
By default, the program puts a 15cmx18cm pattern in the center of the page. You can change the size of the pattern using the controls in the Pattern size group, either in number of checkers or in total real-world units (cm, inches and pixels). By default, the total checkerboard size is kept constant, and the checker size is changed accordingly. If you want to keep the checker size constant instead, just use the Keep constant checkbox in the Checker size group. You can also change the checker size using the controls in the Checker size group, which changes the pattern size in real-world units as well.
To position the pattern differently on the page, use the controls in the Alignment group. Other options include drawing a rectangle around the pattern and printing arrows the size of a checker next to the top left checker in the pattern.
The Commands group contains the following:
  • the Setup button shows the printer setup dialog
  • the Inside button adds 2 rows and 2 columns to the pattern, making the size of the inside of the pattern (the part that is actually detected) match the current pattern size
  • the Print button prints the pattern onto the currently selected printer
  • the Exit button closes the application
Note: To enable corner detection of the resulting pattern using the Open Source Computer Vision library, you need to have the number of rows and columns be of different parity (i.e., odd x even or even x odd). Also, the number of rows and columns should be more than 2.
The program is written in Turbo Explorer C++, and can be downloaded from here. For a version that allows zooming into the preview image, for educational use, email me.
Last modified Monday, September 22, 2008 by Adrian Ilie