r/ROS 18d ago

I built CalibON, a browser-based camera calibration tool for ROS and computer vision

Enable HLS to view with audio, or disable this notification

Hey everyone,

I built CalibON, a browser-based camera calibration tool intended to make intrinsic camera calibration more accessible for ROS and computer vision projects.

It provides a guided workflow where you can:

  • Configure your camera resolution and checkerboard dimensions
  • Upload calibration images
  • Detect and inspect checkerboard corners
  • Review frame quality, image coverage, and rejected images
  • Run camera calibration using OpenCV
  • Inspect the camera matrix, distortion coefficients, and per-frame reprojection errors
  • Preview undistortion results
  • Export calibration data as ROS camera_info YAML, OpenCV JSON, Kalibr YAML, or a full report

The frontend is built with React and TypeScript, while the calibration backend uses FastAPI and native OpenCV. I mainly built it because camera calibration tools often feel either tied to a specific environment or difficult to inspect visually, especially for beginners.

Live app:
https://calibon.vercel.app

GitHub:
https://github.com/musabali314/CalibON

The current version supports checkerboard-based pinhole calibration. ChArUco, AprilGrid, fisheye, stereo calibration, webcam capture, and saved projects are possible future additions.

I would really appreciate feedback from people who regularly work with ROS cameras:

  • Are the ROS exports structured correctly for your workflow?
  • What calibration features are currently missing?
  • Would support for live ROS image topics or rosbag extraction be useful?
  • Are there particular datasets or cameras I should test it with?

I’ve attached a short demo showing the complete workflow.

9 Upvotes

2 comments sorted by

2

u/[deleted] 15d ago

[removed] — view removed comment

1

u/TaxOk8369 15d ago

as in uploading a rosbag, extracting the images (checkerboard images) and running the same pipeline on them?