【3.9新功能】连接物理相机时,相机中的某个参数我不希望灵闪去设置,有办法做到吗?

Viewed 9

如题,听说灵闪3.9中新增了可配置的相机库参数读写屏蔽通路,那是个啥

1 Answers

功能的由来

当前相机库可以对每个参数进行获取/设置,所有参数均允许读写。但在部分项目场景下,不希望相机库根据自身默认逻辑对某些参数进行读写(尤其是写操作),而是希望相机以配置文件为核心进行工作。

解决思路

由于每个参数是否允许读写都可能需要动态调整,写在代码中并不合适,而且参数数量较多,逐个开放控制接口过于臃肿,因此采用配置文件驱动的访问控制方案。

配置文件说明

配置文件需要控制模式(config_rw_ctrl_mode)、读取参数列表(read_config_list)和写入参数列表(write_config_list)三个组成:

控制模式 config_rw_ctrl_mode

含义 行为
0 不限制(默认) 所有参数正常读写
1 白名单(仅允许) 只允许列表中的参数读写,其余阻止
2 黑名单(禁止) 列表中的参数被组织读写,其余正常

字段说明

字段 类型 说明
config_rw_ctrl_mode string("0"/"1"/"2"),其余按照 "0" 处理 控制模式
read_config_list string 数组 受控的读参数属性名列表
write_config_list string 数组 受控的写参数属性名列表

举个例子:禁止外部修改触发模式和像素格式,只允许读取宽高(白名单模式):

{
  "config_rw_ctrl_mode": "1",
  "read_config_list": ["Width", "Height"],
  "write_config_list": []
}

仅 Width、Height 的读操作被允许,所有写操作和其他读操作均被阻止。

配置文件位置

配置文件与DLL位于同一目录,文件名与DLL完全相同,后缀替换成Json

plugins/
├── lpcCameraVirtual.dll
├── lpcCameraVirtual.json        ← 对应配置文件
├── lpcCameraHik.dll
└── lpcCameraHik.json

使用方式

  1. 创建与相机DLL同名的Json文件,如DLL名为lpcCameraHik.dll,就创建一个lpcCameraHik.json。
  2. 编辑需要限制的参数
  3. 将创建的Json放在DLL的同级目录下
  4. 重启软件
Related