A desktop application for simplifying camera calibration workflows, built with Qt.
- Camera calibration methods:
- Manual
- Line-based
- Chessboard
- Interactive visualization of calibrated data
- Multiple input sources: files, built-in cameras, RTSP streams
- Export of calibration results
- Cross-platform: Linux and Windows
This tool was developed to calibrate a large number of dome cameras mounted high on ceilings, where using a standard chessboard pattern is impractical. The cameras capture industrial spaces where many straight lines are present (e.g., floor tiles, structural beams).
The approach is to manually annotate curved lines and then optimize the camera parameters to straighten them. This program simplifies the process of manual annotation and line-based calibration. Over time, additional calibration methods were added for flexibility.
Calibration is performed by optimizing camera parameters to straighten manually annotated curved lines in the scene.
Typical use cases:
- Industrial environments
- Scenes with prominent linear structures
- Situations where chessboard patterns cannot be used
Camera parameters are optimized using the Ceres Solver.
Warning
This method allows you to adjust parameters to remove distortion but cannot determine the true focal length. Due to focal shift, the resulting parameter values may differ from the expected ones.
Classic calibration using a planar chessboard pattern, leveraging standard OpenCV algorithms.
This method simplifies data collection and camera calibration in standard environments.
Recommended build script:
cd camera_calibration_tools
./scripts/build.shBuild artifacts will be located in the artifacts folder.
Required dependencies are listed in the dockerfile.
Docker-based build and run are also supported:
cd camera_calibration_tools
docker compose up build
# Run the application via Docker
xhost +local:root
docker compose up runDependencies are listed in the dockerfile and can be installed via MSYS2.
Build is recommended using MinGW and the same build script:
cd camera_calibration_tools
./scripts/build.shThis project relies on the following libraries:
- Qt – cross-platform C++ GUI framework
- OpenCV – computer vision and image processing
- Ceres Solver – nonlinear least squares optimization


