Welcome to the ultimate stereo-vision toolkit that turns two camera feeds into 3D magic! Grab your chessboard, fire up your cameras and let’s dive into the world of real-time depth estimation.
- 🧩 Chessboard calibration
Compute sweet intrinsic parameters in a snap. - 📸 Synchronized dual-camera capture
Capture perfectly aligned frames from two eyes. - 🌈 Lens undistortion
Wave goodbye to fish-eye warping. - 🤖 YOLOv11 object detection
Spot and label objects at lightning speed. - 🎯 Stereo triangulation
Estimate real-world 3D positions of matched objects. - 🖥️ Flask-based PC server
Host detection, distance calculation or simple frame relay. - 🐧 Raspberry Pi client
Capture, undistort, encode & send frames over the network.
calibration.py– Chessboard calibration → outputscalibration_matrix1.yaml,calibration_matrix2.yamlscreenshots.py– Snap synchronized stereo frames intoimages1/andimages2/cameras_calibration_test.py– Verify undistortion on live streamsPC_yolo.py– Flask server: only object detectionPC_distance_calc.py– Flask server: detection + 3D position estimationPC_cameras.py– Flask server: simple frame relayraspberry.py– Pi client: capture, undistort, encode & POST framestest/stereo_depth.py– Depth map demos (BM & SGBM)trangulation.py– Pure-math triangulation playgroundyolo_test.py– SVD-based triangulation with YOLO
- Python 3.8+
opencv-pythonnumpypyyamlflaskrequestsultralytics(YOLOv11)
pip install opencv-python numpy pyyaml flask requests ultralytics- Calibrate your cameras:
python calibration.py
- Capture stereo snapshots:
python screenshots.py
- Verify undistortion:
python cameras_calibration_test.py
- Run YOLO server:
python PC_yolo.py
- Run distance‐calc server:
python PC_distance_calc.py
- Launch Raspberry Pi client:
python raspberry.py
Happy triangulating! 🎉