A chessboard the calibration software cannot find, or finds only in fragments, stops most stereo projects at step one. The solver is almost never at fault. The image has lost what the corner finder needs: the grid is cropped, blurred, flattened by glare, or declared with a corner count it does not have. Work the checks below in order and the failure separates fast into an every-frame cause or an angle-dependent one. The numbers come from one worked example, a 5 MP sensor with a 12 mm lens looking at a 25 mm board, so you can scale each figure to your own geometry.
Why is the chessboard not detected?
A corner finder rejects a board when the X-shaped junctions are destroyed in the image: the declared corner count does not match the board, part of the grid is cropped, blur exceeds about one pixel, or glare flattens the black-and-white contrast.
Those four causes fail differently, which is what makes them separable. A wrong corner count or a cropped grid kills every frame. Blur and glare kill frames selectively: the board detects straight-on but not at a tilt, or near but not far. Fragments that do not match the real grid mean glare or motion blur has let the finder weld unrelated corners into a smaller false board.
Isolate the failing frames before changing anything. Run the detector on one image at a time, a call such as detectCheckerboardPoints on single frames, and sort the captures into detected, empty and false-positive piles. The pattern across those piles points at the cause; the sections below give the test and the fix for each.
How many pixels does each square need?
Plan for at least 20 pixels along each square edge, with 30-100 pixels as the comfortable working range, and treat any square under about 10 pixels wide as unreadable: the finder can no longer separate the diagonals that form the corner.
The finder locates an X junction a few pixels across, so the pixel budget is set by distance more than by optics: double the working distance and the pixels per square halve. The guide on checkerboard calibration fails at distance works the same trade for depth cameras.
Worked example, with example inputs rather than one camera's data sheet: a 2448 × 2048 sensor with 3.45 µm pixels, a 12 mm lens, 25 mm squares, working distance 400 mm.
At 224 pixels per square the board carries an 11× margin over the 20-pixel floor, so this geometry keeps detecting until the board sits near 4.5 m. For your own sensor, the camera resolution calculator runs the same pixels-per-target check.
How sharp does the board have to be?
Keep the gray-level step at every corner inside one to two pixels, which at the worked geometry means holding the working distance within about ±14 mm of best focus and the exposure at or below 5.6 ms for a board moving 20 mm/s.
Blur widens the black-to-white step at each corner; past about one pixel the sub-pixel corner estimate drifts, and past two the finder starts dropping junctions. Defocus and motion need separate checks.
Defocus follows the geometric estimate:
with N the f-number and c the tolerated blur circle, here one pixel = 3.45 µm. At f/4 and m = 0.031 the total depth of field is 2 × 4 × 3.45 µm / 0.031² ≈ 29 mm, so the board tolerates ±14 mm of placement error. At f/1.4 the same figure is about 10 mm, which a hand-held board will occasionally violate. Those are the frames that detect on the bench and fail once the board moves.
Motion sets the exposure:
A board advanced by hand at v = 20 mm/s gives m × v = 0.031 × 20 = 0.62 mm/s, so t_max = 3.45 µm / 0.62 mm/s ≈ 5.6 ms. At a 20 ms exposure the same motion smears corners by 3.6 pixels and the grid fails; at 5 ms it passes. Shorten the exposure and add light, or pulse the light: reducing calibration target exposure time with front lighting shows the timing.
Check sharpness at 1:1 zoom before capturing a set, then lock the focus. Calibrate a camera with autofocus: lock the focus first covers the lock. If blur returns only in the afternoon, the guide on camera focus drift with temperature is the diagnosis.
Which lighting makes the corners stand out?
Light the board flat and diffusely so every white square reads above 180 and every black square below 80 on the 8-bit histogram, with the shading from one edge of the board to the other held under about 20%.
Even contrast at every corner is what the finder thresholds on, and a glossy print under a small or ring-shaped source cannot deliver it: each tilted square carries a specular streak that erases corners. The signature is angle dependence, frames detect with the board square to the camera and fail as it tilts.
Fix the surface before the light. Print matte, or shoot through a crossed polarizer pair if the board is laminated. Two diffuse lights at roughly 45° either side of the camera even the field out and hold the exposure short. LED colour barely matters for a black-and-white board; which LED colour gives the best contrast in machine vision matters once the target itself is coloured.
Must the whole board be inside the frame?
Yes for a plain chessboard: classic corner finders grow the grid from one seed corner and need every interior junction present, so leave a margin of at least one square between the board edge and the frame edge in every capture.
Most partial detections include a frame where a corner row sits just outside the frame edge, so check the margins before blaming contrast. A plain board cannot label the corners it can see, which is why partial views are unrecoverable; a ChArUco target can, because each square carries a coded marker identified on sight, and ChArUco board dimensions and pose covers its size trade-offs.
Is the declared board size the real one?
Count inner corners, not squares: a board printed as 10 × 7 squares carries 9 × 6 inner corners, and declaring 10 × 6 makes every frame fail while the image still looks perfect.
Detectors accept corner counts, not square counts, so count the corners on the physical board and photograph it for the record. Orientation matters for stereo as well: pick the square count odd along one edge, 10 × 7 again, so a 180° rotation swaps the corner colours and the detector cannot hand back a flipped board. A flipped board corrupts the camera-to-camera transform silently, and stereo camera calibration from paired checkerboard images assumes consistent orientation across the pair.
If every frame detects but the solved scale still drifts, the printed pitch is the suspect: checkerboard camera calibration error: fix the grid pitch measures it with calipers.
What should you fix first?
Work down the failure list by how completely each cause kills detection: declared corner count and cropped frames stop every frame, glare stops frames by angle, blur stops frames randomly, and small squares bite only once the board sits far away.
| Symptom | Likely cause | Test | Fix |
|---|---|---|---|
| No frame ever detects | Wrong inner-corner count | Count corners on the physical board | Declare 9 × 6, not 10 × 7 squares |
| No frame ever detects | Grid cropped at one edge | Check margins at 1:1 zoom | Widen the field or shrink the board |
| Detects straight-on, fails on tilt | Specular glare | Compare white-square histograms across angles | Matte print or crossed polarizers |
| Detects near, fails far | Squares under 20 px | Measure square width in pixels at the worst distance | Move closer or lengthen the focal length |
| Fails on random frames at one pose | Defocus or motion blur | Measure the corner gray-level step | Refocus, stop down to f/4, cut exposure below 5.6 ms |
Decision by case: nothing detects, fix the declared count and framing; detection depends on board angle, fix the light; detection depends on distance, fix the pixel budget; detection flickers at a fixed pose, fix focus and exposure; everything detects but residuals stay high, the pitch or the mounting, not the detector.
How do you keep detections from failing again?
Lock everything that drifts between frames — focus, exposure, gain, light intensity and stand height — then capture 10-20 views spanning straight-on to about 45° of tilt with the board parked in every region of the frame before you rerun the solver.
Spread beats count: 12 views that cover tilts, distances and all nine frame regions solve better than 40 near-duplicates. Mechanically, a stand does more for detection than any software setting, because it removes hand-held motion blur and makes the tilted views repeatable:
- Type
- Camera stands
The LS-MNT-0040 carries the camera 700 mm above a 400 × 450 mm base. At the example's 400 mm working distance the board sits well below the lens with room to tilt. A tilt stage sets the oblique views without re-clamping, a portable stand moves the rig between stations, and a rotation stage parks the board across the frame regions:
- Type
- CCD camera stand and positioning stage (LS-MNT-S01)
- Type
- Portable optical test stand (LS-MNT-S04)
- Type
- Rotary stages
Rerun the detector on the complete set before the solver: every frame must return the same corner count, and when they do, the calibration almost always converges. To pick the stand, lens and light as one system, start at the camera stands category, the accessories finder, or the stand configurator step. The systems topic page collects the surrounding guides.
Questions
Can a ChArUco board save frames where the grid is partly blocked?
Yes. A ChArUco target carries coded markers between the squares, so each visible corner is identified individually and the calibration can run on a partial view, something a plain chessboard cannot do. Keep the same imaging rules: squares at least 20 pixels wide, a rigid flat backing, and a declared marker dictionary that matches the print.
Why must both cameras see the board in the same frame for a stereo pair?
The camera-to-camera transform comes from points visible to both cameras at the same instant, so each calibration capture is a synchronized pair. Calibrating the two cameras in separate board sessions yields intrinsics only; without shared corner sets there is no baseline or relative tilt, and the solver has nothing to converge on.
What should a printed calibration target be mounted on?
Matte laser print glued flat to a rigid backing such as foam board or aluminium composite, then re-measured: check the square pitch with calipers and type the measured value into the solver. Curled paper and inkjet banding bend the grid by more than the sub-pixel accuracy the corner finder delivers, which shows up as residual error even when detection succeeds.
Does auto exposure cause detection to change between frames?
It can. Auto exposure and gain re-balance every frame, so a dark tilt drops the white squares below their target gray level or stretches the exposure into motion blur. Lock both to fixed values before capturing the set, so every frame reaches the detector with the same contrast and the same exposure time.



