Validate Camera Calibration Images Before cv2.calibrateCamera¶
OpenCV Calibration Audit checks checkerboard camera-calibration datasets for blur, exposure problems, duplicate poses, weak image-plane coverage, limited pose diversity, and high reprojection error. It produces an explainable HTML report before unsuitable images reach a production calibration pipeline.
Use it when a complete checkerboard detection and a low aggregate OpenCV RMS are not enough evidence that your image set is varied, sharp, and useful. Analysis runs locally and does not modify source images.
Run your first audit in 30 seconds¶
Install the command-line tool:
Analyze a folder of images:
calibration-audit analyze ./calibration_images \
--cols 9 \
--rows 6 \
--square-size 30 \
--unit mm \
--output ./audit_result
--cols and --rows are inner-corner counts. A checkerboard with 10 × 7
squares has 9 × 6 inner corners.
Follow the getting-started tutorial or read the dataset-validation guide.
See the evidence¶
The HTML report records the decision stage, measured value, threshold, and stable reason code for every image.
Open the self-contained smoke report · Inspect its JSON data
A smoke example, not a production benchmark
The published report uses three redistributable real-camera images. It
proves the end-to-end path but does not represent a production-ready
calibration dataset. Its field-coverage ratio is only 0.0833.
Quality signals¶
- Detection and readability: supported files, decode failures, complete inner-corner detections, and resolution consistency.
- Image quality: global and board-region sharpness plus exposure warnings.
- Coverage: board-center occupancy and corner-observation density across the image plane.
- Pose diversity: scale bins, circular rotation range, and signed horizontal and vertical perspective ranges.
- Duplicate views: normalized center, board area, wrapped rotation, and perspective distance.
- Calibration residuals: OpenCV RMS and per-view reprojection statistics.
These measurements are diagnostic evidence, not a calibration certificate. Thresholds are heuristics that must be checked against the camera, image resolution, target, and downstream accuracy requirements.
Outputs for people and automation¶
Each run can produce:
report.htmlfor an offline, human-readable review;summary.jsonfor complete typed results and CI policies;images.csvfor per-image analysis;calibration.yamlfor pinhole calibration parameters;accepted.txtandrejected.txtfor downstream file selection.
See the output schema and decision-code reference.
Scope¶
Version 0.2.2 supports standard black-and-white checkerboards, monocular calibration, and OpenCV's pinhole camera model on Python 3.10–3.13. It does not support stereo or fisheye calibration, ChArUco/ArUco, circle grids, live capture, automatic pruning, or ROS camera-info output.
Project links¶
- Install from PyPI
- View source and report issues on GitHub
- Read the changelog
- Maintainer and site operations
Documentation version: 0.2.2 · Updated: 2026-07-31