Commit Graph
7 Commits
Author SHA1 Message Date
mzxwww 19ac43da6f Add pose_test tool and harden solvePose; expose camera controls
- pose_test: verify the geometry chain (4 corners -> distance/yaw/pitch)
  before any detector exists; modes: camera + mouse clicks, --image,
  --corners (headless), --selftest (synthetic round-trip, no camera needed)
- solvePose: undistort corners first, then solvePnPGeneric(IPPE) and pick
  the best candidate; reject solutions behind the camera (z<=0) or with
  reprojection error > 8px
  - fixes IPPE + distortion + in-plane rotation returning garbage
  - 4 coplanar points: cyclic/mirrored orderings give the same quad and
    the same pose (harmless); crossing orderings blow up reprojection
    and are rejected
- camera_set: implement setAeState/setExposureTime/setAnalogGain(+-Times)/
  setWbMode/setFrameSpeed; configs/camera_runtime.yaml drives them
- selftest passes all 6 synthetic cases; verified on 6 real photos
  (chessboard outer rect 180x120mm): distance 0.44-0.69m, reproj <2.5px
2026-09-16 21:08:03 +08:00
mzxwww c50be9a48d Document IDE setup and repository commit rules
- note that compile_commands.json must be regenerated locally
- add a commit-rule table and a warning to back up calibration photos
- fix the intrinsics example to read configs/camera.yaml
2026-09-15 23:33:23 +08:00
mzxwww ca6891eef2 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
2026-09-15 23:33:01 +08:00
mzxwww 14d7f9e571 Add CameraGrabber camera wrapper and refactor main loop
- 新增 inc/camera_set.hpp + src/camera_set.cpp:封装相机初始化、启停、参数设置与取帧
- main.cpp 改用 CameraGrabber,取流循环支持 ESC 退出
- xmake.lua 增加 inc/ 头文件目录与绝对路径
- .gitignore 忽略 wget 日志
2026-09-13 22:44:23 +08:00
mzxwww 37548a92ad Remove clangd cache and update gitignore 2026-09-05 20:57:41 +08:00
mzxwww e00de31898 Remove clangd cache and update gitignore 2026-09-05 20:41:15 +08:00
mzxwww 6a8b6b604e first commit 2026-09-05 20:38:03 +08:00