Add camera calibration toolchain and armor pose solver

- capture_calib: capture calibration images (MindVision / USB) with a live
  quality gate (Laplacian sharpness, 3x3 coverage, board auto-detect)
- calibrate: batch intrinsics from calib_images/, writes configs/camera.yaml
- camera_calib: CameraCalib loader (intrinsics + distortion, cached
  undistort remap) and solvePose() via IPPE with a reprojection gate
- configs/camera.yaml: MV-SUA131GC intrinsics, RMS 0.483 px over 31 images,
  ruler-verified distance error < 2%
- xmake: three targets sharing an rm_deps rule, C++17
- gitignore: keep calibration photos/videos and generated
  compile_commands.json out of the repo
This commit is contained in:
2026-09-15 23:33:01 +08:00
parent 14d7f9e571
commit ca6891eef2
12 changed files with 1183 additions and 110 deletions
+5 -5
View File
@@ -14,11 +14,11 @@ public:
bool initializeCamera(); // 初始化相机
bool startCamera(); // 启动相机
bool stopCamera(); // 停止相机
bool setExposureTime(double exposureTime); // 设置曝光时间
bool setGain(double gain); // 设置增益
bool setWhiteBalance(double redGain, double blueGain); // 设置白平衡
bool setResolution(int width, int height); // 设置分辨率
bool setFrameRate(double frameRate); // 设置帧率
// bool setExposureTime(double exposureTime); // 设置曝光时间
// bool setGain(double gain); // 设置增益
// bool setWhiteBalance(double redGain, double blueGain); // 设置白平衡
// bool setResolution(int width, int height); // 设置分辨率
// bool setFrameRate(double frameRate); // 设置帧率
bool getFrame(cv::Mat &frame); // 获取一帧图像
private: