Calibr

Circle Grid, print-ready.

calibrx.io · 4×11 asymmetric · 18 mm spacing

Circle grid generator

Circle grid pattern generator

Generate an asymmetric or symmetric circle grid with exact spacing in millimetres, preview it live and download a print-accurate PDF, SVG or PNG. It opens on a 4 × 11 asymmetric grid, the layout of OpenCV’s own sample pattern; the symmetric grid is one setting away.

When to use it

When to use a circle grid

Circle grids replace corners with circle centres. A centre is averaged over many edge pixels, so it stays accurate in slightly soft or noisy images, which is why circle grids are popular in machine-vision and industrial setups.

Like a checkerboard, the whole grid must be visible in each photo. The asymmetric layout is usually preferred: its staggered rows make the orientation unambiguous and pack more points into the same area.

Recommended Circle grid settings and why they work.
SettingRecommendedWhy
LayoutAsymmetric, 4 × 11 (the default)OpenCV’s standard calibration grid, with an unambiguous orientation.
Spacing15–25 mm on A4Wider spacing reads from farther away. Check the printed spacing with a ruler.
BackgroundDark circles on whiteThe detector looks for dark blobs on a light background; avoid glossy paper.
Viewing angleModerate tiltsUnder strong perspective a circle’s image centre drifts from its true centre, so avoid extreme angles.

Detect it

Detect a circle grid with OpenCV

python
import cv2

gray = cv2.imread("view.jpg", cv2.IMREAD_GRAYSCALE)
# 4 x 11 asymmetric grid: 4 circles per row, 11 rows
found, centers = cv2.findCirclesGrid(
    gray, (4, 11), flags=cv2.CALIB_CB_ASYMMETRIC_GRID
)
print("found" if found else "not found")

For a symmetric grid pass its columns and rows with cv2.CALIB_CB_SYMMETRIC_GRID. Or skip the code: upload your photos to CalibrX and it detects the board and calibrates the camera for you.

FAQ

Circle grid — common questions

Asymmetric or symmetric circle grid?

Asymmetric in most cases: the staggered rows fix the grid’s orientation and fit more points on a page. A symmetric grid is simpler to reason about, but it can be read upside down.

Why is findCirclesGrid not detecting my grid?

Check the pattern size first: for an asymmetric grid OpenCV expects (circles per row, rows), for example (4, 11). Then keep the whole grid in frame, avoid glare and make sure the circles are dark on a light background.

Circle grid or checkerboard?

Circle centres tolerate mild blur and noise; checkerboard corners hold up better under strong perspective. For general-purpose calibration with views near the image edges, a ChArUco board is the most forgiving.

More targets

Other calibration boards

ChArUco

ChArUco board generator

Checkerboard corners with ArUco IDs: the most forgiving target for calibrating any lens.

Checkerboard

Checkerboard generator

The classic chessboard target, with exact rows, columns and square size for OpenCV and MATLAB.

ArUco

ArUco marker generator

Single markers or grid boards from the real OpenCV dictionaries, for tracking and pose estimation.

These targets follow the pattern geometry used by OpenCV. Read the official OpenCV calibration-pattern guide or continue with the CalibrX online calibration workflow.

Reviewed by the CalibrX engineering team · Updated September 2026.