58 lines
3.0 KiB
Markdown
Executable File
58 lines
3.0 KiB
Markdown
Executable File
# VizumCameraKit 进度
|
||
|
||
### 2026-08-26 切换共享 VzNL SDK 3.6.20.116
|
||
|
||
Scope:
|
||
- 删除仓库内旧版 `external/VzNLSDK` 3.6.20.60。
|
||
- 头文件、链接库及运行时 DLL 统一使用
|
||
`E:/02_Modules/10_Projects/Active/GrabBag/Device/SDK/VzNLSDK`。
|
||
- 新版设备驱动 DLL 由 `VIZUMKIT_DLL_DIR` 自动部署到使用方输出目录。
|
||
|
||
### 2026-07-05 点云栅格化修正:启用 SDK 激光点填充
|
||
|
||
Scope:
|
||
- CapturePointCloudWithAutoDetect 在 BeginDetectLaser 后新增
|
||
`VzNL_EnableFillLaserPoint(handle, VzTrue)`(VZNL_DetectLaser.h:307,SDK 默认不填充)。
|
||
- 根因:默认模式下每条激光线只回传检出点、长度不一,软件侧左对齐拼 W×H 网格时
|
||
列向错位(同列不代表同横向位置)。启用填充后 SDK 输出定长线(无测量处填占位点),
|
||
回调侧 scanLine 本就保留全部点,网格自然列对齐,MatchVerify 的 cloud.txt 栅格随之正确。
|
||
|
||
Verification:
|
||
```
|
||
kit 与 MatchVerify 重编译通过;kit_smoke 终端运行退出码 0 全流程正常。
|
||
待实机:采一次点云,确认日志"收到扫描线 N 个点"各线等长、cloud.txt 网格列对齐。
|
||
```
|
||
|
||
Known quirk(与本次改动无关,业务无影响):
|
||
- kit_smoke 在 stdout 重定向到管道(>/dev/null 或 >file)时,业务流程完整跑完
|
||
("SDK destroyed"已打印、main 已返回)后进程收尾阶段段错误(139);
|
||
终端直跑恒为退出码 0。疑为 VzNL DLL 卸载时其日志组件写已关闭管道所致。
|
||
GUI 程序不受影响;自动化脚本调用 kit_smoke 时以日志内容而非退出码判断成败。
|
||
|
||
### 2026-07-05 模块建立(从 Mark3DCalibration 毕业)
|
||
|
||
Scope:
|
||
- 从 Mark3DCalibration 抽出最小集:`VizumCamera.h/.cpp`(src/modules/device/vizum)、
|
||
`IStructuredLightCamera.h`、`core/StructuredLightTypes.h`(均零修改拷入,
|
||
保持与原工程可对照);`external/VzNLSDK`(98MB 全量)与 header-only spdlog 一并拷入。
|
||
- `utils/Logger.h` 重写为无 Qt 版本(仅去掉 QString fmt 特化,宏接口与原版一致),
|
||
使 VizumCamera.cpp 无需任何改动即可编译。
|
||
- 新增 `VizumCamera::SetCalibROIEnabled(bool)`:封装 VzNL_EnableCalibROI,
|
||
启用后 GetLeftImage 返回 SDK 矫正图(MatchVerify 需求)。这是本模块相对
|
||
Mark3DCalibration 原版的唯一功能性差异。
|
||
- CMake:静态库 VizumCameraKit(PUBLIC 传递 include/ENABLE_VIZUM_CAMERA/链接)、
|
||
VIZUMKIT_DLL_DIR 缓存变量供使用方拷 DLL、kit_smoke 冒烟测试目标。
|
||
|
||
Verification:
|
||
```
|
||
cmake + VS2022 x64 Release 编译 -> VizumCameraKit.lib / kit_smoke.exe 生成
|
||
kit_smoke.exe(无相机) -> SDK initialized -> SearchCameras found 0 -> SDK destroyed,退出码0
|
||
VzNL 运行时 DLL 由 POST_BUILD 自动拷入输出目录(VzKernel/VzLog/VzNLDetect/VzNLGraphics 等)
|
||
```
|
||
|
||
Limits / Deferred:
|
||
- Mark3DCalibration 尚未切换到本模块(其内部副本仍在用),两份代码暂时并存;
|
||
切换迁移放到 MatchVerify 交付后单独做,避免影响其在途 WIP。
|
||
- 无远程仓库,待用户提供 Gitee/内网 git 地址后推送。
|
||
- SearchCameras/Connect/采集链路未连真机验证(S2 实机联调覆盖)。
|