diff --git a/ExternalLibraries/MvCameraControl.Net.XML b/ExternalLibraries/MvCameraControl.Net.XML
new file mode 100644
index 0000000..e79ec14
--- /dev/null
+++ b/ExternalLibraries/MvCameraControl.Net.XML
@@ -0,0 +1,18755 @@
+
+
+
+ MvCameraControl.Net
+
+
+
+
+ 排序方式
+
+
+
+
+ 按序列号排序
+
+
+
+
+ 按用户自定义名字排序
+
+
+
+
+ 按当前IP地址排序(升序)
+
+
+
+
+ 按当前IP地址排序(降序)
+
+
+
+
+ 动作命令信息
+
+
+
+
+ 设备密钥
+
+
+
+
+ 组键
+
+
+
+
+ 组掩码
+
+
+
+
+ 只有设置成1时Action Time才有效,非1时无效
+
+
+
+
+ 预定的时间,和主频有关
+
+
+
+
+ 广播包地址
+
+
+
+
+ 等待ACK的超时时间,如果为0表示不需要ACK
+
+
+
+
+ 只有设置成1时指定的网卡IP才有效,非1时无效
+
+
+
+
+ 指定的网卡IP
+
+
+
+
+ 动作命令返回信息
+
+
+
+
+ 设备IP
+
+
+
+
+ 状态码
+
+
+
+
+ 设备枚举类,支持枚举GigE Vision、USB3 Vision相机,及采集卡上的相机(GigE Vision、CameraLink、CoaXPress、XoFlink)
+
+
+
+
+ 枚举设备
+
+ 设备接口类型
+ 设备列表
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设备接口类型为MV_GIGE_DEVICE时,枚举所有GigE设备,包含虚拟GigE设备和采集卡上的GigE设备。
+ 设备接口类型为MV_USB_DEVICE时,枚举所有USB设备,包含虚拟USB设备。
+
+ 设备列表的内存是在SDK内部分配的,调用该接口时会进行设备列表内存的释放和申请,避免多线程枚举操作。
+
+ 枚举到设备后,通过创建设备实例。
+
+
+
+
+ 枚举设备,支持枚举指定厂商的设备
+
+ 设备接口类型
+ 厂商名称
+ 设备列表
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设备接口类型为MV_GIGE_DEVICE时,枚举所有GigE设备,包含虚拟GigE设备和采集卡上的GigE设备。
+ 设备接口类型为MV_USB_DEVICE时,枚举所有USB设备,包含虚拟USB设备。
+
+ 设备列表的内存是在SDK内部分配的,调用该接口时会进行设备列表内存的释放和申请,避免多线程枚举操作。
+
+ 枚举到设备后,通过创建设备实例。
+
+
+
+
+ 枚举设备, 可指定排序方式枚举、根据厂商名字过滤
+
+ 设备接口类型
+ 排序方式
+ 厂商名称
+ 设备列表
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设备接口类型为MV_GIGE_DEVICE时,仅枚举网络上的网口相机,不包含虚拟GigE相机和采集卡上的相机
+ 设备接口类型为MV_USB_DEVICE时,枚举普通USB设备,不包含虚拟USB设备。
+
+ 设备列表的内存是在SDK内部分配的,调用该接口时会进行设备列表内存的释放和申请,避免多线程枚举操作。
+
+ 枚举到设备后,通过创建设备实例。
+
+
+
+
+ 判断设备是否可达
+
+ 设备信息
+ 访问权限
+ 可达,返回true;不可达,返回false
+
+
+
+ 设置GigE设备枚举超时时间,范围 1-UINT_MAX(包括1,不包括UINT_MAX)
+
+ 超时时间
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置枚举命令的回复包类型
+
+ 回复包类型(默认广播),0-单播,1-广播
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取主机串口列表
+
+ 串口列表
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置在指定的串口上枚举设备
+
+ 串口列表
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 发出动作命令
+
+ 动作命令信息
+ 动作命令返回信息列表
+ 成功,返回MV_OK;失败,返回错误码
+
+ 仅GigEVision相机支持
+
+
+
+
+ 获取GigE设备组播状态
+
+ 设备信息
+ 组播状态(true:组播状态;false:非组播)
+ 成功,返回MV_OK;失败,返回错误码
+
+ 仅GigEVision相机支持
+
+
+
+
+ 将用户的设备信息格式转换为SDK的内部设备信息格式
+
+
+
+
+
+
+
+ 设备工厂类,用于创建设备实例
+
+
+
+
+ 创建设备对象
+
+ 设备信息
+ 成功-返回设备实例,失败-抛出异常
+
+
+
+ 通过设备IP地址创建设备,适用于GigE设备,不包含虚拟设备与采集卡设备
+
+ 设备IP地址
+ 网口IP地址
+ 成功-返回设备实例,失败-抛出异常
+
+
+
+ 通过GenTL设备信息创建设备句柄
+
+ 设备信息
+ 成功-返回设备实例,失败-抛出异常
+
+
+
+ 设备接口类型
+
+
+
+ GigE Vision 设备
+
+
+ USB3 Vision 设备
+
+
+ Camera Link 设备(串口)
+
+
+ 虚拟 GigE Vision 设备
+
+
+ 虚拟 USB3 Vision 设备
+
+
+ 网口采集卡下GigE Vision设备
+
+
+ Camera Link 设备
+
+
+ CoaXPress设备
+
+
+ XoFLink设备
+
+
+
+ 设备基本信息
+
+
+
+
+ 设备接口类型
+
+
+
+
+ 制造商信息
+
+
+
+
+ 设备型号
+
+
+
+
+ 设备版本
+
+
+
+
+ 设备序列号
+
+
+
+
+ 用户自定义名称
+
+
+
+
+ 设备类型信息,7 - 0 bit: 预留,15 - 8 bit:产品子类别,23 - 16 bit:产品类型,31 - 24bit:产品线(如: 0x01 标准产品;0x02 3D产品;0x03 智能ID产品)
+
+
+
+
+ GigE相机信息
+
+
+
+
+ GigE Vision协议主要版本
+
+
+
+
+ GigE Vision协议次要版本
+
+
+
+
+ 高MAC地址
+
+
+
+
+ 低MAC地址
+
+
+
+
+ IP配置选项
+
+
+
+
+ 当前IP配置
+
+
+
+
+ 当前IP地址
+
+
+
+
+ 当前子网掩码
+
+
+
+
+ 当前网关
+
+
+
+
+ 网口IP地址
+
+
+
+
+ 是否虚拟相机
+
+
+
+
+ 是否采集卡上的相机
+
+
+
+
+ USB相机信息
+
+
+
+
+ 控制输入端点
+
+
+
+
+ 控制输出端点
+
+
+
+
+ 流端点
+
+
+
+
+ 事件端点
+
+
+
+
+ 供应商ID号
+
+
+
+
+ 产品ID号
+
+
+
+
+ 设备索引号
+
+
+
+
+ 设备GUID号
+
+
+
+
+ 家族名字
+
+
+
+
+ 支持的USB协议
+
+
+
+
+ 设备地址
+
+
+
+
+ 是否虚拟相机
+
+
+
+
+ Camera Link串口设备信息
+
+
+
+
+ 端口号
+
+
+
+
+ 名称
+
+
+
+
+ CoaXPress设备信息
+
+
+
+
+ 相机ID
+
+
+
+
+ 采集卡ID
+
+
+
+
+ Camera Link设备信息
+
+
+
+
+ 相机ID
+
+
+
+
+ 采集卡ID
+
+
+
+
+ XoFLink设备信息
+
+
+
+
+ 相机ID
+
+
+
+
+ 采集卡ID
+
+
+
+
+ 设备访问权限,只支持GigE设备
+
+
+
+
+ 独占权限,其他APP只允许读CCP寄存器
+
+
+
+
+ 可以从5模式下抢占权限,然后以独占权限打开
+
+
+
+
+ 控制权限,其他APP允许读所有寄存器
+
+
+
+
+ 可以从5模式下抢占权限,然后以控制权限打开
+
+
+
+
+ 以可被抢占的控制权限打开
+
+
+
+
+ 可以从5模式下抢占权限,然后以可被抢占的控制权限打开
+
+
+
+
+ 读模式打开设备,适用于控制权限下
+
+
+
+
+ IP配置类型
+
+
+
+
+ 静态IP
+
+
+
+
+ DHCP自动获取IP
+
+
+
+
+ LLA(Link-local address),链路本地地址
+
+
+
+
+ GigE设备传输模式
+
+
+
+
+ 驱动模式
+
+
+
+
+ Socket模式
+
+
+
+
+ GigE设备网络传输的相关信息
+
+
+
+
+ 已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量]
+
+
+
+
+ 丢失的包数量
+
+
+
+
+ 丢帧数量
+
+
+
+
+ 已接收的帧数
+
+
+
+
+ 请求重发包数
+
+
+
+
+ 重发包数
+
+
+
+
+ USB传输信息
+
+
+
+
+ 已接收数据大小 [Open和Close之间]
+
+
+
+
+ 已收到的帧数
+
+
+
+
+ 错误帧数
+
+
+
+
+ GigE传输类型
+
+
+
+
+ 单播
+
+
+
+
+ 组播
+
+
+
+
+ 局域网内广播
+
+
+
+
+ 子网内广播
+
+
+
+
+ 从相机获取
+
+
+
+
+ 用户自定义应用端接收图像数据Port号
+
+
+
+
+ 设置了单播,但本实例不接收图像数据
+
+
+
+
+ 组播模式,但本实例不接收图像数据
+
+
+
+
+ 设备异常类型
+
+
+
+
+ 设备断开连接
+
+
+
+
+ 设备异常消息
+
+
+
+
+ 消息类型
+
+
+
+
+ 提供设备通用的属性和接口
+
+
+
+
+ 打开设备,默认以独占权限打开
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 以指定访问权限打开设备,只支持GigE设备
+
+ 访问权限
+ 切换访问权限时的密钥
+ 成功,返回MV_OK;失败,返回错误码
+
+ 目前设备暂不支持MV_ACCESS_ExclusiveWithSwitch、MV_ACCESS_ControlWithSwitch、MV_ACCESS_ControlSwitchEnable、MV_ACCESS_ControlSwitchEnableWithKey这四种抢占模式。
+
+
+
+
+ 关闭设备
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设备本地升级
+
+ 升级文件路径
+ 成功,返回MV_OK;失败,返回错误码
+
+ 通过该接口可以将升级固件文件发送给设备进行升级。该接口需要等待升级固件文件成功传给设备端之后再返回,响应时间可能较长。
+
+
+
+
+ 获取升级进度
+
+ 升级进度
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 开启设备指定事件
+
+ 事件名称
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 关闭设备指定事件
+
+ 事件名称
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设备异常事件
+
+
+
+
+ 判断设备是否处于连接状态
+
+
+
+
+ 获取设备对应的图像采集对象
+
+
+
+
+ 获取设备对应的事件采集对象
+
+
+
+
+ 获取设备信息
+
+
+
+
+ 获取设备对应的参数配置对象
+
+
+
+
+ 获取格式转换对象
+
+
+
+
+ 获取用于图像处理的对象
+
+
+
+
+ 获取用于图像保存的对象
+
+
+
+
+ 获取用于解码图像的的对象
+
+
+
+
+ 获取录像对象
+
+
+
+
+ 获取图像和图形渲染对象
+
+
+
+
+ GigE设备专用接口
+
+
+
+
+ 获取最佳包大小
+
+ 最佳包大小
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 强制设备IP
+
+ IP地址
+ 子网掩码
+ 默认网关
+ 成功,返回MV_OK;失败,返回错误码
+
+ 强制设置设备网络参数(包括IP、子网掩码、默认网关),强制设置之后将需要重新创建设备句柄,仅GigE设备支持。
+ 如果设备为DHCP的状态,调用该接口强制设置设备网络参数之后设备将会重启。
+
+
+
+
+ 配置IP方式
+
+ IP配置类型
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置传输模式,默认为Driver模式
+
+ 网络传输模式
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取网络传输信息
+
+ 网络传输信息
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置GVSP取流超时时间
+
+ 超时时间(MS),默认300ms,范围:>10ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取GVSP取流超时时间
+
+ 超时时间(MS)
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置GVCP命令超时时间
+
+ 超时时间(MS),默认500ms,范围:0-10000ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取GVCP命令超时时间
+
+ 超时时间(MS)
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置重传GVCP命令次数
+
+ 重传次数,范围:0-100
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取重传GVCP命令次数
+
+ 重传次数
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置是否打开重发包,及重发包参数
+
+ 是否支持重发包
+ 最大重发比
+ 重发超时时间
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置重传命令最大尝试次数
+
+ 重传命令最大尝试次数,默认值20
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口必须在调用开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER。
+
+
+
+
+ 获取重传命令最大尝试次数
+
+ 传命令最大尝试次数
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口必须在调用开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER。
+
+
+
+
+ 设置同一重传包多次请求之间的时间间隔
+
+ 同一重传包多次请求之间的时间间隔,默认10ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取同一重传包多次请求之间的时间间隔
+
+ 同一重传包多次请求之间的时间间隔(以毫秒为单位)
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置传输模式,可以为单播模式、组播模式等
+
+ 传输模式
+ 组播地址,组播模式下有意义
+ 组播端口,组播模式下有意义
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ USB设备专用接口
+
+
+
+
+ 设置U3V的传输包大小
+
+ 传输的包大小,单位:Byte,默认为1M,范围:Windows[0x400, 0x400000], Linux[0x400, 0x200000]
+ 成功,返回MV_OK;失败,返回错误码
+
+ 增加传输包大小可以适当降低取流时的CPU占用率。但不同的PC和不同USB扩展卡存在不同的兼容性,如果该参数设置过大可能会出现取不到图像的风险。
+
+
+
+
+ 获取U3V的传输包大小
+
+ 传输的包大小, 单位:Byte
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置U3V的传输通道个数
+
+ 传输通道个数,范围:1-10
+ 成功,返回MV_OK;失败,返回错误码
+
+ 可根据PC的性能、设备出图帧率、图像大小和内存使用率等因素对该参数进行调节。但不同的PC和不同的USB扩展卡存在不同的兼容性。
+
+
+
+
+ 获取U3V的传输通道个数
+
+ 传输通道个数
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口用于获取当前的U3V异步取流节点个数,2000W设备的MONO8默认为3个,YUV为默认2个,RGB为默认1个,其它情况默认8个节点。
+
+
+
+
+ 设置U3V的事件缓存节点个数
+
+ 事件缓存节点个数,范围:1-64
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口用于设置当前的U3V事件缓存节点个数,默认情况下为5个。
+
+
+
+
+ 设置U3V相机同步读写超时时间,范围为1000~UINT,默认1000 ms
+
+ 同步读写超时时间
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取U3V相机同步读写超时时间
+
+ 同步读写超时时间
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取主机从USB设备接收的数据统计信息,如已接收字节数、帧数
+
+ USB传输信息
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ Camera Link波特率
+
+
+
+
+ 9600
+
+
+
+
+ 19200
+
+
+
+
+ 38400
+
+
+
+
+ 57600
+
+
+
+
+ 115200
+
+
+
+
+ 230400
+
+
+
+
+ 460800
+
+
+
+
+ 921600
+
+
+
+
+ 最大值
+
+
+
+
+ Camera Link串口设备专用接口
+
+
+
+
+ 设置设备波特率
+
+ 波特率
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取设备波特率
+
+ 波特率
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取设备与主机间连接支持的波特率
+
+ 所支持波特率的或运算结果,单个波特率参考
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置串口操作等待时长
+
+ 串口操作的等待时长,单位为ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 错误码定义
+
+
+
+ 成功,无错误
+
+
+ 错误或无效的句柄
+
+
+ 不支持的功能
+
+
+ 缓存已满
+
+
+ 函数调用顺序错误
+
+
+ 错误的参数
+
+
+ 资源申请失败
+
+
+ 无数据
+
+
+ 前置条件有误,或运行环境已发生变化
+
+
+ 版本不匹配
+
+
+ 传入的内存空间不足
+
+
+ 异常图像,可能是丢包导致图像不完整
+
+
+ 动态导入DLL失败
+
+
+ 没有可输出的缓存
+
+
+ 加密错误
+
+
+ 未知的错误
+
+
+ 通用错误
+
+
+ 参数非法
+
+
+ 值超出范围
+
+
+ 属性
+
+
+ 运行环境有问题
+
+
+ 逻辑错误
+
+
+ 节点访问条件有误
+
+
+ 超时
+
+
+ 转换异常
+
+
+ GenICam未知错误
+
+
+ 命令不被设备支持
+
+
+ 访问的目标地址不存在
+
+
+ 目标地址不可写
+
+
+ 设备无访问权限
+
+
+ 设备忙,或网络断开
+
+
+ 网络包数据错误
+
+
+ 网络相关错误
+
+
+ 设备IP冲突
+
+
+ 读usb出错
+
+
+ 写usb出错
+
+
+ 设备异常
+
+
+ GenICam相关错误
+
+
+ 带宽不足
+
+
+ 驱动不匹配或者未装驱动
+
+
+ USB未知的错误
+
+
+ 升级固件不匹配
+
+
+ 升级固件语言不匹配
+
+
+ 升级冲突(设备已经在升级了再次请求升级即返回此错误)
+
+
+ 升级时设备内部出现错误
+
+
+ 升级时未知错误
+
+
+ 处理正确
+
+
+ 不确定类型错误
+
+
+ 能力集中存在无效参数
+
+
+ 内存地址为空
+
+
+ 内存对齐不满足要求
+
+
+ 内存空间大小不够
+
+
+ 内存空间大小不满足对齐要求
+
+
+ 内存地址不满足对齐要求
+
+
+ 图像格式不正确或者不支持
+
+
+ 图像宽高不正确或者超出范围
+
+
+ 图像宽高与step参数不匹配
+
+
+ 图像数据存储地址为空
+
+
+ 设置或者获取参数类型不正确
+
+
+ 设置或者获取参数的输入、输出结构体大小不正确
+
+
+ 处理类型不正确
+
+
+ 处理时输入、输出参数大小不正确
+
+
+ 子处理类型不正确
+
+
+ 子处理时输入、输出参数大小不正确
+
+
+ index参数不正确
+
+
+ value参数不正确或者超出范围
+
+
+ param_num参数不正确
+
+
+ 函数参数指针为空
+
+
+ 超过限定的最大内存
+
+
+ 回调函数出错
+
+
+ 加密错误
+
+
+ 算法库使用期限错误
+
+
+ 参数范围不正确
+
+
+ 数据大小不正确
+
+
+ 数据step不正确
+
+
+ cpu不支持优化代码中的指令集
+
+
+ 警告
+
+
+ 算法库超时
+
+
+ 算法版本号出错
+
+
+ 模型版本号出错
+
+
+ GPU内存分配错误
+
+
+ 文件不存在
+
+
+ 字符串为空
+
+
+ 图像解码器错误
+
+
+ 打开文件错误
+
+
+ 文件读取错误
+
+
+ 文件写错误
+
+
+ 文件读取大小错误
+
+
+ 文件类型错误
+
+
+ 模型类型错误
+
+
+ 分配内存错误
+
+
+ 线程绑核失败
+
+
+ 噪声特性图像格式错误
+
+
+ 噪声特性类型错误
+
+
+ 噪声特性个数错误
+
+
+ 噪声特性增益个数错误
+
+
+ 噪声曲线增益值输入错误
+
+
+ 噪声曲线柱数错误
+
+
+ 噪声估计初始化增益设置错误
+
+
+ 噪声估计未初始化
+
+
+ 颜色空间模式错误
+
+
+ 图像ROI个数错误
+
+
+ 图像ROI原点错误
+
+
+ 图像ROI大小错误
+
+
+ 输入的相机增益不存在(增益个数已达上限)
+
+
+ 输入的相机增益不在范围内
+
+
+ 输入的噪声特性内存大小错误
+
+
+
+ 设备event信息
+
+
+
+
+ Event名称
+
+
+
+
+ EventID
+
+
+
+
+ 流通道序号
+
+
+
+
+ 帧号 (暂无固件支持)
+
+
+
+
+ 时间戳
+
+
+
+
+ Event数据长度 (暂无固件支持)
+
+
+
+
+ Event数据,内部会进行一次拷贝,将非托管内存拷贝到托管内存 (暂无固件支持)
+
+
+
+
+ 设备事件
+
+
+
+
+ 事件信息
+
+
+
+
+ 提供设备事件订阅相关接口
+
+
+
+
+ 订阅事件
+
+ 事件名称
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 取消事件订阅
+
+ 事件名称
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 订阅所有事件
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 取消订阅所有事件
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设备事件
+
+
+
+
+ 通过GenTL枚举到的接口信息
+
+
+
+
+ GenTL接口ID
+
+
+
+
+ 传输层类型
+
+
+
+
+ 显示名称
+
+
+
+
+ GenTL的cti文件索引
+
+
+
+
+ 通过GenTL枚举到的设备信息
+
+
+
+
+ GenTL接口ID
+
+
+
+
+ 设备ID
+
+
+
+
+ 供应商名字
+
+
+
+
+ 型号名字
+
+
+
+
+ 传输层类型
+
+
+
+
+ 设备显示名称
+
+
+
+
+ 用户自定义名字
+
+
+
+
+ 序列号
+
+
+
+
+ 设备版本号
+
+
+
+
+ GenTL的cti文件索引
+
+
+
+
+ 提供GenTL相关接口
+
+
+
+
+ 通过GenTL枚举Interfaces
+
+ GenTL的cti文件路径
+ Interfaces列表
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 通过GenTL Interface枚举设备
+
+ Interface信息
+ 设备列表
+ 成功,返回MV_OK;失败,返回错误码
+
+ 枚举到设备后,通过创建设备实例。
+
+
+
+
+ 卸载cti库
+
+ 枚举卡时加载的cti文件路径
+ 成功,返回MV_OK;失败,返回错误码
+ 卸载前需要保证通过该cti枚举出的相机已全部关闭,否则报错前置条件错误。
+
+
+
+ 提供获取图像缓存、图像属性的接口
+
+
+
+
+ 转换为Bitmap
+
+ Bitmap对象,失败返回null
+
+
+
+ 图像数据指针(非托管内存)
+
+
+
+
+ 图像数据,内部会进行一次拷贝,将非托管内存拷贝到托管内存
+
+
+
+
+ 图像宽度
+
+
+
+
+ 图像高度
+
+
+
+
+ 像素格式
+
+
+
+
+ 图像大小
+
+
+
+
+ 图像解码
+
+
+
+
+ 无损解码
+
+ 输入图像及帧信息
+ 输出图像及帧信息。图像使用完之后需调用Dispose方法及时释放内存,防止内存快速上涨。
+ 成功,返回MV_OK;失败,返回错误码
+
+ 将从相机中取到的无损压缩码流解码成裸数据,同时支持解析当前相机实时图像的水印信息(如果输入的无损码流不是当前相机或者不是实时取流的,则水印解析可能异常)。
+ 若解码失败,请检查以下情况:(1)需要CPU支持 SSE AVX指令集(2)若当前帧异常(丢包等),可能导致解码异常(3)相机出图异常,即使不丢包也会异常。
+
+
+
+
+ 图像渲染模式
+
+
+
+
+ 默认模式,Windows:GDI,Linux:OpenGL
+
+
+
+
+ Direct3D,只支持Windows
+
+
+
+
+ OPENGL,只支持Windows
+
+
+
+
+ 颜色
+
+
+
+
+ 构造函数
+
+ 红色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度
+ 绿色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度
+ 蓝色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度
+ 透明度,根据像素颜色的相对透明度,范围为[0.0 , 1.0] (此参数功能暂不支持)
+
+
+
+ 红色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度
+
+
+
+
+ 绿色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度
+
+
+
+
+ 蓝色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度
+
+
+
+
+ 透明度,根据像素颜色的相对透明度,范围为[0.0 , 1.0] (此参数功能暂不支持)
+
+
+
+
+ 矩形
+
+
+
+
+ 构造函数
+
+ 矩形上边缘距离图像上边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+ 矩形下边缘距离图像下边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+ 矩形左边缘距离图像左边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+ 矩形右边缘距离图像右边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+ 矩形上边缘距离图像上边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+
+ 矩形下边缘距离图像下边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+
+ 矩形左边缘距离图像左边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+
+ 矩形右边缘距离图像右边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+
+ 点
+
+
+
+
+ 构造函数
+
+ 该点距离图像左边缘距离,根据图像的相对位置,范围为[0.0 , 1.0]
+ 该点距离图像上边缘距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+ 该点距离图像左边缘距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+
+ 该点距离图像上边缘距离,根据图像的相对位置,范围为[0.0 , 1.0]
+
+
+
+
+ 圆形
+
+
+
+
+ 构造函数
+
+ 圆心
+ 宽向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错
+ 高向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错
+
+
+
+ 圆心
+
+
+
+
+ 宽向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错
+
+
+
+
+ 高向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错
+
+
+
+
+ 线条
+
+
+
+
+ 线条的起始点坐标
+
+
+
+
+ 线条的终点坐标
+
+
+
+
+ 提供图像渲染、图形绘制接口
+
+
+
+
+ 显示一帧图像
+
+ 窗口句柄
+ 图像信息
+ 渲染模式
+ 成功,返回MV_OK;失败,返回错误码
+
+ 渲染方式可选择GDI或D3D,默认选择为GDI模式。渲染引擎仅在客户端不连接相机的情况下可以进行设置。GDI模式对电脑的显卡性能没有要求,适用于所有电脑。 D3D模式适用于安装显卡驱动且显卡内存大于1GB的电脑,该模式下客户端预览的图像效果会优于GDI模式下的图像效果。
+ 渲染模式为RenderMode.OPENGL时支持4G以上超大图渲染
+
+
+
+
+ 显示一帧图像
+
+ 窗口句柄
+ 图像数据指针
+ 图像数据长度
+ 图像宽
+ 图像高
+ 像素格式
+ 渲染模式
+ 成功,返回MV_OK;失败,返回错误码
+
+ 渲染方式可选择GDI或D3D,默认选择为GDI模式。渲染引擎仅在客户端不连接相机的情况下可以进行设置。GDI模式对电脑的显卡性能没有要求,适用于所有电脑。 D3D模式适用于安装显卡驱动且显卡内存大于1GB的电脑,该模式下客户端预览的图像效果会优于GDI模式下的图像效果。
+
+
+
+
+ 在图像上绘制矩形
+
+ 矩形框
+ 线条颜色
+ 线条宽度,只能是1或2
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 在图像上绘制圆形
+
+ 圆形信息
+ 线条颜色
+ 线条宽度,只能是1或2
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 在图像上绘制线条
+
+ 线条信息
+ 线条颜色
+ 线条宽度,只能是1或2
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 图像格式
+
+
+
+
+ BMP图像格式
+
+
+
+
+ JPEG图像格式
+
+
+
+
+ PNG图像格式
+
+
+
+
+ TIFF图像格式
+
+
+
+
+ 图像格式信息
+
+
+
+
+ 图像格式
+
+
+
+
+ JPEG编码质量(50-99],其他格式无效
+
+
+
+
+ 提供保存图像数据到文件的接口,支持BMP、JPG、PNG、TIFF格式图像
+
+
+
+
+ 保存图像到文件,支持BMP、JPG、PNG、TIFF格式图像
+
+ 文件路径
+ 图像数据
+ 图像格式信息
+ 图像插值方法
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 保存图像到缓存,支持BMP、JPG格式图像
+
+ 图像缓存
+ 转换后的图像数据长度
+ 图像数据
+ 图像格式信息
+ 图像插值方法
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 提供采集卡属性和接口
+
+
+
+
+ 打开采集卡
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 关闭采集卡
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设备本地升级
+
+ 升级文件路径
+ 成功,返回MV_OK;失败,返回错误码
+
+ 通过该接口可以将升级固件文件发送给设备进行升级。该接口需要等待升级固件文件成功传给设备端之后再返回,响应时间可能较长。
+
+
+
+
+ 获取升级进度
+
+ 升级进度
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 枚举采集卡上的相机
+
+ 相机列表
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 开启设备指定事件
+
+ 事件名称
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 关闭设备指定事件
+
+ 事件名称
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取采集卡对应的参数配置对象
+
+
+
+
+ 获取采集卡对应的事件采集对象
+
+
+
+
+ 提供枚举采集卡接口
+
+
+
+
+ 枚举采集卡
+
+ 采集卡接口类型
+ 采集卡列表
+ 成功,返回MV_OK;失败,返回错误码
+
+ 枚举到采集卡后,通过创建采集卡实例。
+
+
+
+
+ 采集卡工厂类,创建采集卡实例
+
+
+
+
+ 根据采集卡信息创建采集卡实例
+
+ 采集卡信息
+ 成功-返回采集卡实例,失败-抛出异常
+
+
+
+ 根据采集卡ID创建采集卡实例
+
+ 采集卡ID
+ 成功-返回采集卡实例,失败-抛出异常
+
+
+
+ 采集卡接口类型定义
+
+
+
+
+ GigE Vision采集卡
+
+
+
+
+ Camera Link采集卡
+
+
+
+
+ CoaXPress采集卡
+
+
+
+
+ XoFLink采集卡
+
+
+
+
+ 采集卡信息
+
+
+
+
+ 采集卡接口类型,
+
+
+
+
+ 采集卡的PCIE插槽信息
+
+
+
+
+ 采集卡ID
+
+
+
+
+ 显示名称
+
+
+
+
+ 序列号
+
+
+
+
+ 型号
+
+
+
+
+ 厂商
+
+
+
+
+ 版本号
+
+
+
+
+ 自定义名称
+
+
+
+
+ 图像旋转角度
+
+
+
+
+ 90度
+
+
+
+
+ 180度
+
+
+
+
+ 270度
+
+
+
+
+ 图像翻转类型
+
+
+
+
+ 垂直翻转
+
+
+
+
+ 水平翻转
+
+
+
+
+ 图像重构方式
+
+
+
+
+ 源图像按行拆分成多张图像
+
+
+
+
+ 图像拼接方式
+
+
+
+
+ 垂直方向拼接
+
+
+
+
+ 提供图像处理相关接口,比如旋转、翻转、对比度、饱和度等
+
+
+
+
+ 图像旋转
+
+ 输入图像
+ 输出图像。图像使用完之后需调用Dispose方法及时释放内存,防止内存快速上涨。
+ 旋转角度
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口只支持MONO8/RGB24/BGR24格式数据的90/180/270度旋转。
+
+
+
+
+ 图像翻转
+
+ 输入图像
+ 输出图像。图像使用完之后需调用Dispose方法及时释放内存,防止内存快速上涨。
+ 翻转类型
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口只支持MONO8/RGB24/BGR24格式数据的垂直和水平翻转。
+
+
+
+
+ 图像对比度调节
+
+ 输入图像
+ 输出图像。图像使用完之后需调用Dispose方法及时释放内存,防止内存快速上涨。
+ 对比度值,[1, 10000]
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 重构图像(用于分时曝光功能)
+
+ 输入图像
+ 曝光个数(1-8]
+ 图像重构方式
+ 输出图像列表。图像使用完之后需调用Dispose方法及时释放内存,防止内存快速上涨。
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 重构图像(用于分时曝光功能,图像拆分后再拼接)
+
+ 输入图像
+ 曝光个数(1-8]
+ 图像重构的方式
+ 图像拼接的方式
+ 输出图像。图像使用完之后需调用Dispose方法及时释放内存,防止内存快速上涨。
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 内存块
+
+
+
+
+ 内存池
+
+
+
+
+ 关闭内存池,清空内部缓存
+
+
+
+
+ 归还内存块到内存池
+
+ 内存块
+ 是否手动释放
+
+
+
+ 更新内存块列表,释放过期内存。方法内部不加锁
+
+
+
+
+
+ 更新内存块的空闲时间并删除过期内存块。 方法内部不加锁
+
+
+
+
+
+
+ 打印统计信息
+
+
+
+
+ 初始化属性值,在构造函数中使用
+
+
+
+
+ 创建相机句柄
+
+
+ 错误码
+
+
+
+ 判断设备是否处于连接状态
+
+
+
+
+ 获取设备对应的图像采集对象
+
+
+
+
+ 获取设备信息
+
+
+
+
+ 获取设备对应的参数配置对象
+
+
+
+
+ 设置设备波特率
+
+ 波特率
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取设备波特率
+
+ 波特率
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取设备与主机间连接支持的波特率
+
+ 所支持波特率的或运算结果,单个波特率参考
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置串口操作等待时长
+
+ 串口操作的等待时长,单位为ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ Chunk数据
+
+
+
+
+ Chunk数据指针(非托管内存)
+
+
+
+
+ Chunk数据,内部会进行一次拷贝,将非托管内存拷贝到托管内存
+
+
+
+
+ ChunkID
+
+
+
+
+ Chunk数据长度
+
+
+
+
+ 图像帧里面的chunk信息
+
+
+
+
+ 通过ChunkID获取对应的ChunkData
+
+
+
+
+
+
+ 创建设备对象
+
+
+
+
+ 创建设备对象
+
+ 设备信息
+ 设备实例
+
+
+
+ 通过设备IP地址创建设备,适用于GigE设备
+
+ 设备IP地址
+ 网口IP地址
+ 设备实例
+
+
+
+ 通过GenTL设备信息创建设备句柄
+
+ 设备信息
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 采集卡类型
+
+
+
+
+ 未知采集卡
+
+
+
+
+ 虚拟采集卡
+
+
+
+
+ 自研采集卡
+
+
+
+
+ gige设备信息实现
+
+
+
+
+ 占用设备的主机ip
+
+
+
+
+ 组播ip
+
+
+
+
+ 组播port
+
+
+
+
+ 设备接口类型
+
+
+
+
+ 制造商信息
+
+
+
+
+ 制造商特殊信息
+
+
+
+
+ 设备型号
+
+
+
+
+ 设备版本
+
+
+
+
+ 设备序列号
+
+
+
+
+ 用户自定义名称
+
+
+
+
+ 设备类型信息,7 - 0 bit: 预留,15 - 8 bit:产品子类别,23 - 16 bit:产品类型,31 - 24bit:产品线(如: 0x01 标准产品;0x02 3D产品;0x03 智能ID产品)
+
+
+
+
+ GigE Vision协议主要版本
+
+
+
+
+ GigE Vision协议次要版本
+
+
+
+
+ 高MAC地址
+
+
+
+
+ 低MAC地址
+
+
+
+
+ IP配置选项
+
+
+
+
+ 当前IP配置
+
+
+
+
+ 当前IP地址
+
+
+
+
+ 当前子网掩码
+
+
+
+
+ 当前网关
+
+
+
+
+ 网口IP地址
+
+
+
+
+ 是否虚拟相机
+
+
+
+
+ 是否采集卡上的相机
+
+
+
+
+ USB设备信息类
+
+
+
+
+ 设备接口类型
+
+
+
+
+ 制造商信息
+
+
+
+
+ 设备型号
+
+
+
+
+ 设备版本
+
+
+
+
+ 设备序列号
+
+
+
+
+ 用户自定义名称
+
+
+
+
+ 设备类型信息,7 - 0 bit: 预留,15 - 8 bit:产品子类别,23 - 16 bit:产品类型,31 - 24bit:产品线(如: 0x01 标准产品;0x02 3D产品;0x03 智能ID产品)
+
+
+
+
+ 控制输入端点
+
+
+
+
+ 控制输出端点
+
+
+
+
+ 流端点
+
+
+
+
+ 事件端点
+
+
+
+
+ 供应商ID号
+
+
+
+
+ 产品ID号
+
+
+
+
+ 设备索引号
+
+
+
+
+ 设备GUID号
+
+
+
+
+ 家族名字
+
+
+
+
+ 供应商名称
+
+
+
+
+ 支持的USB协议
+
+
+
+
+ 设备地址
+
+
+
+
+ 是否虚拟相机
+
+
+
+
+ Camera Link串口设备信息
+
+
+
+
+ 设备接口类型
+
+
+
+
+ 制造商信息
+
+
+
+
+ 设备型号
+
+
+
+
+ 设备版本
+
+
+
+
+ 设备序列号
+
+
+
+
+ 用户自定义名称
+
+
+
+
+ 设备类型信息,7 - 0 bit: 预留,15 - 8 bit:产品子类别,23 - 16 bit:产品类型,31 - 24bit:产品线(如: 0x01 标准产品;0x02 3D产品;0x03 智能ID产品)
+
+
+
+
+ 端口号
+
+
+
+
+ 名称
+
+
+
+
+ CoaXPress设备信息
+
+
+
+
+ 设备接口类型
+
+
+
+
+ 制造商信息
+
+
+
+
+ 设备型号
+
+
+
+
+ 设备版本
+
+
+
+
+ 设备序列号
+
+
+
+
+ 用户自定义名称
+
+
+
+
+ 设备类型信息,7 - 0 bit: 预留,15 - 8 bit:产品子类别,23 - 16 bit:产品类型,31 - 24bit:产品线(如: 0x01 标准产品;0x02 3D产品;0x03 智能ID产品)
+
+
+
+
+ 相机ID
+
+
+
+
+ 采集卡ID
+
+
+
+
+ Camera Link设备信息
+
+
+
+
+ 设备接口类型
+
+
+
+
+ 制造商信息
+
+
+
+
+ 设备型号
+
+
+
+
+ 设备版本
+
+
+
+
+ 设备序列号
+
+
+
+
+ 用户自定义名称
+
+
+
+
+ 设备类型信息,7 - 0 bit: 预留,15 - 8 bit:产品子类别,23 - 16 bit:产品类型,31 - 24bit:产品线(如: 0x01 标准产品;0x02 3D产品;0x03 智能ID产品)
+
+
+
+
+ 相机ID
+
+
+
+
+ 采集卡ID
+
+
+
+
+ XoFLink设备信息
+
+
+
+
+ 设备接口类型
+
+
+
+
+ 制造商信息
+
+
+
+
+ 设备型号
+
+
+
+
+ 设备版本
+
+
+
+
+ 设备序列号
+
+
+
+
+ 用户自定义名称
+
+
+
+
+ 设备类型信息,7 - 0 bit: 预留,15 - 8 bit:产品子类别,23 - 16 bit:产品类型,31 - 24bit:产品线(如: 0x01 标准产品;0x02 3D产品;0x03 智能ID产品)
+
+
+
+
+ 相机ID
+
+
+
+
+ 采集卡ID
+
+
+
+
+ Event名称
+
+
+
+
+ EventID
+
+
+
+
+ 流通道序号
+
+
+
+
+ 帧号
+
+
+
+
+ 时间戳
+
+
+
+
+ Event数据长度
+
+
+
+
+ Event数据
+
+
+
+
+ GenTL接口ID
+
+
+
+
+ 传输层类型
+
+
+
+
+ 显示名称
+
+
+
+
+ GenTL的cti文件索引
+
+
+
+
+ GenTL接口ID
+
+
+
+
+ 设备ID
+
+
+
+
+ 供应商名字
+
+
+
+
+ 型号名字
+
+
+
+
+ 传输层类型
+
+
+
+
+ 设备显示名称
+
+
+
+
+ 用户自定义名字
+
+
+
+
+ 序列号
+
+
+
+
+ 设备版本号
+
+
+
+
+ GenTL的cti文件索引
+
+
+
+
+ 获取最佳包大小
+
+
+
+
+
+
+ 强制配置ip
+
+
+
+
+
+
+
+
+ 设置ip方式
+
+
+
+
+
+
+ 设置传输模式,默认为Driver模式
+
+ 网络传输模式
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取网络传输信息
+
+ 网络传输信息
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置GVSP取流超时时间
+
+ 超时时间(MS),默认300ms,范围:>10ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取GVSP取流超时时间
+
+ 超时时间(MS)
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置GVCP命令超时时间
+
+ 超时时间(MS),默认500ms,范围:0-10000ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取GVCP命令超时时间
+
+ 超时时间(MS)
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置重传GVCP命令次数
+
+ 重传次数,范围:0-100
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取重传GVCP命令次数
+
+ 重传次数
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置是否打开重发包,及重发包参数
+
+ 是否支持重发包
+ 最大重发比
+ 重发超时时间
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置重传命令最大尝试次数
+
+ 重传命令最大尝试次数,默认值20
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口必须在调用开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER。
+
+
+
+
+ 获取重传命令最大尝试次数
+
+ 传命令最大尝试次数
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口必须在调用开启重传包功能之后调用,否则失败且返回MV_E_CALLORDER。
+
+
+
+
+ 设置同一重传包多次请求之间的时间间隔
+
+ 同一重传包多次请求之间的时间间隔,默认10ms
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取同一重传包多次请求之间的时间间隔
+
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置传输模式,可以为单播模式、组播模式等
+
+
+ 组播地址,组播模式下有意义
+ 组播端口,组播模式下有意义
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 解码功能实现类
+
+
+
+
+ 判断像素是否为Mono格式
+
+
+
+
+
+
+ 判断图像格式是否为彩色格式
+
+
+
+
+
+
+ 获取图像大小
+
+ 图像宽度
+ 图像高度
+ 像素格式
+
+
+
+
+ 内存拷贝
+
+ 目标缓存
+ 源缓存
+ 拷贝大小
+
+
+
+ 将FrameOut转成MvCCDll的帧结构体
+
+
+
+
+
+
+
+ 将Byte数组转为String,使用UTF-8编码,并去掉结尾的'\0'
+
+
+
+
+
+
+ String字符串拷贝到byte[]
+
+
+
+
+
+
+ 判断字符数组是否为utf-8
+
+ 字符数组
+
+
+
+
+ 将枚举出来的设备信息转化为输出格式
+
+
+
+
+
+
+
+ 打开采集卡
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 关闭采集卡
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设备本地升级
+
+ 升级文件路径
+ 成功,返回MV_OK;失败,返回错误码
+
+ 通过该接口可以将升级固件文件发送给设备进行升级。该接口需要等待升级固件文件成功传给设备端之后再返回,响应时间可能较长。
+
+
+
+
+ 获取升级进度
+
+ 升级进度
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 枚举采集卡上的相机
+
+ 相机列表
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取采集卡对应的参数配置对象
+
+
+
+
+ 采集卡接口类型,
+
+
+
+
+ 采集卡的PCIE插槽信息
+
+
+
+
+ 采集卡ID
+
+
+
+
+ 显示名称
+
+
+
+
+ 序列号
+
+
+
+
+ 型号
+
+
+
+
+ 厂商
+
+
+
+
+ 版本号
+
+
+
+
+ 自定义名称
+
+
+
+
+ MyCamera
+
+
+
+ ch GigE Vision采集卡 |en GigE Vision interface
+
+
+ ch Camera Link采集卡 |en Camera Link interface
+
+
+ ch CoaXPress采集卡 |en CoaXPress interface
+
+
+ ch XoFLink采集卡 |en XoFLink interface
+
+
+ Unknown Device Type, Reserved
+
+
+ GigE Device
+
+
+ 1394-a/b Device
+
+
+ USB3.0 Device
+
+
+ CameraLink Device
+
+
+ Virtual GigE Device
+
+
+ Virtual USB Device
+
+
+ GenTL GigE Device
+
+
+ GenTL CML Device
+
+
+ GenTL CXP Device
+
+
+ GenTL XOF Device
+
+
+
+ ch:信息结构体的最大缓存 | en: Max buffer size of information structs
+
+
+
+
+ 最大的相机数量
+
+
+
+
+ ch:最大Interface数量 | en:Max num of interfaces
+
+
+
+
+ ch:最大GenTL设备数量 | en:Max num of GenTL devices
+
+
+
+
+ XML节点描述最大长度
+
+
+
+
+ XML节点最大长度
+
+
+
+
+ XML节点最大数量
+
+
+
+
+ XML节点显示名最大数量
+
+
+
+
+ 枚举类型最大的EnumEntry个数
+
+
+
+
+ string类型节点值的最大长度
+
+
+
+
+ 最大父节点数
+
+
+
+
+ 最大节点描述长度
+
+
+
+
+ 参数导出允许配置的最大节点个数
+
+
+
+
+ 参数导入时节点导入失败的最大错误个数
+
+
+
+
+ 设备断开连接
+
+
+
+
+ SDK与驱动版本不匹配
+
+
+
+
+ 相机Event事件名称最大长度
+
+
+
+ 最大枚举条目对应的符号长度
+
+
+ 分时曝光时最多将源图像拆分的个数
+
+
+ 最大支持的串口数量
+
+
+
+ ch:最大支持的采集卡数量 | en:The maximum number of Frame Grabber interface supported
+
+
+
+
+ ch 静态 |en Static
+
+
+
+
+ ch DHCP |en DHCP
+
+
+
+
+ ch LLA |en LLA
+
+
+
+
+ 9600
+
+
+
+
+ 19200
+
+
+
+
+ 38400
+
+
+
+
+ 57600
+
+
+
+
+ 115200
+
+
+
+
+ 230400
+
+
+
+
+ 460800
+
+
+
+
+ 921600
+
+
+
+
+ ch 最大值 |en Auto Max
+
+
+
+
+ ch 网络流量和丢包信息 |en Network traffic and packet loss information
+
+
+
+
+ ch host接收到来自U3V设备的字节总数 |en The total number of bytes host received from U3V device
+
+
+
+
+ ch独占权限,其他APP只允许读CCP寄存器 |en Exclusive authority, other APP is only allowed to read the CCP register
+
+
+
+
+ ch 可以从5模式下抢占权限,然后以独占权限打开 |en You can seize the authority from the 5 mode, and then open with exclusive authority
+
+
+
+
+ ch 控制权限,其他APP允许读所有寄存器 |en Control authority, allows other APP reading all registers
+
+
+
+
+ ch 可以从5的模式下抢占权限,然后以控制权限打开 |en You can seize the authority from the 5 mode, and then open with control authority
+
+
+
+
+ ch 以可被抢占的控制权限打开 |en Open with seized control authority
+
+
+
+
+ ch 可以从5的模式下抢占权限,然后以可被抢占的控制权限打开 |en You can seize the authority from the 5 mode, and then open with seized control authority
+
+
+
+
+ ch 读模式打开设备,适用于控制权限下 |en Open with read mode and is available under control authority
+
+
+
+ 成功,无错误
+
+
+ 错误或无效的句柄
+
+
+ 不支持的功能
+
+
+ 缓存已满
+
+
+ 函数调用顺序错误
+
+
+ 错误的参数
+
+
+ 资源申请失败
+
+
+ 无数据
+
+
+ 前置条件有误,或运行环境已发生变化
+
+
+ 版本不匹配
+
+
+ 传入的内存空间不足
+
+
+ 异常图像,可能是丢包导致图像不完整
+
+
+ 动态导入DLL失败
+
+
+ 没有可输出的缓存
+
+
+ 加密错误
+
+
+ 打开文件出现错误
+
+
+ 未知的错误
+
+
+ 通用错误
+
+
+ 参数非法
+
+
+ 值超出范围
+
+
+ 属性
+
+
+ 运行环境有问题
+
+
+ 逻辑错误
+
+
+ 节点访问条件有误
+
+
+ 超时
+
+
+ 转换异常
+
+
+ GenICam未知错误
+
+
+ 命令不被设备支持
+
+
+ 访问的目标地址不存在
+
+
+ 目标地址不可写
+
+
+ 设备无访问权限
+
+
+ 设备忙,或网络断开
+
+
+ 网络包数据错误
+
+
+ 网络相关错误
+
+
+ 设备IP冲突
+
+
+ 读usb出错
+
+
+ 写usb出错
+
+
+ 设备异常
+
+
+ GenICam相关错误
+
+
+ 带宽不足
+
+
+ 驱动不匹配或者未装驱动
+
+
+ USB未知的错误
+
+
+ 升级固件不匹配
+
+
+ 升级固件语言不匹配
+
+
+ 升级冲突(设备已经在升级了再次请求升级即返回此错误)
+
+
+ 升级时设备内部出现错误
+
+
+ 升级时未知错误
+
+
+ 处理正确
+
+
+ 不确定类型错误
+
+
+ 能力集中存在无效参数
+
+
+ 内存地址为空
+
+
+ 内存对齐不满足要求
+
+
+ 内存空间大小不够
+
+
+ 内存空间大小不满足对齐要求
+
+
+ 内存地址不满足对齐要求
+
+
+ 图像格式不正确或者不支持
+
+
+ 图像宽高不正确或者超出范围
+
+
+ 图像宽高与step参数不匹配
+
+
+ 图像数据存储地址为空
+
+
+ 设置或者获取参数类型不正确
+
+
+ 设置或者获取参数的输入、输出结构体大小不正确
+
+
+ 处理类型不正确
+
+
+ 处理时输入、输出参数大小不正确
+
+
+ 子处理类型不正确
+
+
+ 子处理时输入、输出参数大小不正确
+
+
+ index参数不正确
+
+
+ value参数不正确或者超出范围
+
+
+ param_num参数不正确
+
+
+ 函数参数指针为空
+
+
+ 超过限定的最大内存
+
+
+ 回调函数出错
+
+
+ 加密错误
+
+
+ 算法库使用期限错误
+
+
+ 参数范围不正确
+
+
+ 数据大小不正确
+
+
+ 数据step不正确
+
+
+ cpu不支持优化代码中的指令集
+
+
+ 警告
+
+
+ 算法库超时
+
+
+ 算法版本号出错
+
+
+ 模型版本号出错
+
+
+ GPU内存分配错误
+
+
+ 文件不存在
+
+
+ 字符串为空
+
+
+ 图像解码器错误
+
+
+ 打开文件错误
+
+
+ 文件读取错误
+
+
+ 文件写错误
+
+
+ 文件读取大小错误
+
+
+ 文件类型错误
+
+
+ 模型类型错误
+
+
+ 分配内存错误
+
+
+ 线程绑核失败
+
+
+ 噪声特性图像格式错误
+
+
+ 噪声特性类型错误
+
+
+ 噪声特性个数错误
+
+
+ 噪声特性增益个数错误
+
+
+ 噪声曲线增益值输入错误
+
+
+ 噪声曲线柱数错误
+
+
+ 噪声估计初始化增益设置错误
+
+
+ 噪声估计未初始化
+
+
+ 颜色空间模式错误
+
+
+ 图像ROI个数错误
+
+
+ 图像ROI原点错误
+
+
+ 图像ROI大小错误
+
+
+ 输入的相机增益不存在(增益个数已达上限)
+
+
+ 输入的相机增益不在范围内
+
+
+ 输入的噪声特性内存大小错误
+
+
+
+ Byte array to struct
+
+ Byte array
+ Struct type
+ Struct object
+
+
+
+ Struct to Byte array
+
+ Struct object
+ Byte
+ Bytes
+
+
+
+ 判断字符数组是否为utf-8
+
+ 字符数组
+
+
+
+
+ Write Error Message
+
+ Message
+ ErrorNum
+
+
+
+ 获取枚举类型节点(支持的枚举个数扩展到256) V4.4.1新增
+
+
+
+
+ Grab callback
+
+ Image data
+ Frame info
+ User defined variable
+
+
+
+ Grab callback
+
+ Image data
+ Frame info
+ User defined variable
+
+
+
+ Xml Update callback(Interfaces not recommended)
+
+ Node type
+ Current node feature structure
+ Nodes list
+ User defined variable
+
+
+
+ Exception callback
+
+ Msg type
+ User defined variable
+
+
+
+ Event callback (Interfaces not recommended)
+
+ User defined ID
+ User defined variable
+
+
+
+ Event callback
+
+ Event Info
+ User defined variable
+
+
+
+ Stream Exception callback
+
+ Msg type
+ User defined variable
+
+
+
+ ch:采集卡信息列表 | en: Interface Information List
+
+
+
+
+ ch:在线设备数量 | en:Online Interface Number
+
+
+
+
+ ch:支持最多64个设备 | en:Support up to 64 Interfaces
+
+
+
+
+ ch:采集卡信息 | en: Interface information
+
+
+
+
+ ch: 采集卡类型; 低16位有效: bits(0~2)代表功能, bits(3~7)代表相机, bits(8-15)代表总线| en: Interface type
+
+
+
+
+ ch: 采集卡的PCIE插槽信息 | en: PCIe slot information of interface
+
+
+
+
+ ch: 采集卡ID | en: Interface ID
+
+
+
+
+ ch 显示名称 | en: Display name
+
+
+
+
+ ch 序列号 |en: Serial number
+
+
+
+
+ ch 型号 | en: model name
+
+
+
+
+ ch: 厂商 |en: manufacturer name
+
+
+
+
+ ch: 版本号| en: device version
+
+
+
+
+ ch: 自定义名称 |en: user defined name
+
+
+
+
+ ch 保留字段 | en Reserved
+
+
+
+
+ 排序方式
+
+
+
+
+ 按序列号排序
+
+
+
+
+ 按用户自定义名字排序
+
+
+
+
+ 按当前IP地址排序(升序)
+
+
+
+
+ 按当前IP地址排序(降序)
+
+
+
+
+ ch: GigE设备信息 | en: GigE device information
+
+
+
+
+ IP 配置选项
+
+
+
+
+ IP configuration:bit31-static bit30-dhcp bit29-lla
+
+
+
+
+ curtent ip
+
+
+
+
+ curtent subnet mask
+
+
+
+
+ current gateway
+
+
+
+
+ 制造商名
+
+
+
+
+ 型号名
+
+
+
+
+ 设备版本信息
+
+
+
+
+ 制造商特殊信息
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 网口IP地址
+
+
+
+
+ 预留
+
+
+
+
+ ch: GigE设备信息 | en: GigE device information
+
+
+
+
+ IP 配置选项
+
+
+
+
+ IP configuration:bit31-static bit30-dhcp bit29-lla
+
+
+
+
+ curtent ip
+
+
+
+
+ curtent subnet mask
+
+
+
+
+ current gateway
+
+
+
+
+ 制造商名
+
+
+
+
+ 型号名
+
+
+
+
+ 设备版本信息
+
+
+
+
+ 制造商特殊信息
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 网口IP地址
+
+
+
+
+ 预留
+
+
+
+
+ ch:USB3 设备信息 | en:USB3 device information
+
+
+
+
+ 控制输入端点
+
+
+
+
+ 控制输出端点
+
+
+
+
+ 流端点
+
+
+
+
+ 事件端点
+
+
+
+
+ 供应商ID号
+
+
+
+
+ 产品ID号
+
+
+
+
+ 设备索引号
+
+
+
+
+ 设备GUID号
+
+
+
+
+ 供应商名字
+
+
+
+
+ 型号名字
+
+
+
+
+ 家族名字
+
+
+
+
+ 设备版本号
+
+
+
+
+ 制造商名字
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名字
+
+
+
+
+ 支持的USB协议
+
+
+
+
+ 设备地址
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:USB3 设备信息 | en:USB3 device information
+
+
+
+
+ 控制输入端点
+
+
+
+
+ 控制输出端点
+
+
+
+
+ 流端点
+
+
+
+
+ 事件端点
+
+
+
+
+ 供应商ID号
+
+
+
+
+ 产品ID号
+
+
+
+
+ 设备索引号
+
+
+
+
+ 设备GUID号
+
+
+
+
+ 供应商名字
+
+
+
+
+ 型号名字
+
+
+
+
+ 家族名字
+
+
+
+
+ 设备版本号
+
+
+
+
+ 制造商名字
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名字
+
+
+
+
+ 支持的USB协议
+
+
+
+
+ 设备地址
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:CamLink设备信息 | en:CamLink device information
+
+
+
+
+ 端口号ID
+
+
+
+
+ 模型名
+
+
+
+
+ 家族名
+
+
+
+
+ 设备版本信息
+
+
+
+
+ 制造商名字
+
+
+
+
+ 序列号
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:采集卡Camera Link相机信息 | en:Camera Link device information on frame grabber
+
+
+
+
+ ch 采集卡ID |en Interface ID of Frame Grabber
+
+
+
+
+ ch 供应商名字 |en Vendor name
+
+
+
+
+ ch 型号名字 |en Model name
+
+
+
+
+ ch 厂商信息 |en Manufacturer information
+
+
+
+
+ ch 相机版本 |en Device version
+
+
+
+
+ ch 序列号 |en Serial number
+
+
+
+
+ ch 用户自定义名字 |en User defined name
+
+
+
+
+ ch 相机ID |en Device ID
+
+
+
+
+ ch 保留字段 |en Reserved
+
+
+
+
+ ch:CoaXPress相机信息 | en:CoaXPress device information
+
+
+
+
+ ch 采集卡ID |en Interface ID of Frame Grabber
+
+
+
+
+ ch 供应商名字 |en Vendor name
+
+
+
+
+ ch 型号名字 |en Model name
+
+
+
+
+ ch 厂商信息 |en Manufacturer information
+
+
+
+
+ ch 相机版本 |en Device version
+
+
+
+
+ ch 序列号 |en Serial number
+
+
+
+
+ ch 用户自定义名字 |en User defined name
+
+
+
+
+ ch 相机ID |en Device ID
+
+
+
+
+ ch 保留字段 |en Reserved
+
+
+
+
+ ch:XoFLink相机信息 | en:XoFLink device information
+
+
+
+
+ ch 采集卡ID |en Interface ID of Frame Grabber
+
+
+
+
+ ch 供应商名字 |en Vendor name
+
+
+
+
+ ch 型号名字 |en Model name
+
+
+
+
+ ch 厂商信息 |en Manufacturer information
+
+
+
+
+ ch 相机版本 |en Device version
+
+
+
+
+ ch 序列号 |en Serial number
+
+
+
+
+ ch 用户自定义名字 |en User defined name
+
+
+
+
+ ch 相机ID |en Device ID
+
+
+
+
+ ch 保留字段 |en Reserved
+
+
+
+
+ ch:设备信息 | en:Device information
+
+
+
+
+ 主版本号
+
+
+
+
+ 次版本号
+
+
+
+
+ MAC高地址
+
+
+
+
+ MAC低地址
+
+
+
+
+ 设备传输层协议类型,e.g. MV_GIGE_DEVICE
+
+
+
+
+ ch 设备类型信息 | en Device Type Info
+
+
+
+
+ 保留字节
+
+
+
+
+ 设备类型
+
+
+
+
+ 构造函数
+
+ 输入任意数,因为不接受无参构造函数
+
+
+
+ ch:特定类型的设备信息 | en:Special devcie information
+
+
+
+
+ GigE
+
+
+
+
+ Camera Link
+
+
+
+
+ Usb
+
+
+
+
+ CML
+
+
+
+
+ CXP
+
+
+
+
+ XOF
+
+
+
+
+ 相机列表
+
+
+
+
+ 在线设备数量
+
+
+
+
+ 支持最多256个设备
+
+
+
+
+ ch:通过GenTL枚举到的Interface信息 | en:Interface Information with GenTL
+
+
+
+
+ GenTL接口ID
+
+
+
+
+ 传输层类型
+
+
+
+
+ 设备显示名称
+
+
+
+
+ GenTL的cti文件索引
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:通过GenTL枚举到的设备信息列表 | en:Interface Information List with GenTL
+
+
+
+
+ ch:在线设备数量 | en:Online Interface Number
+
+
+
+
+ ch:支持最多256个设备 | en:Support up to 256 Interfaces
+
+
+
+
+ ch:通过GenTL枚举到的设备信息 | en:Device Information discovered by with GenTL
+
+
+
+
+ 采集卡ID
+
+
+
+
+ 设备ID
+
+
+
+
+ 供应商名字
+
+
+
+
+ 模型名
+
+
+
+
+ 传输类型
+
+
+
+
+ 显示名
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 序列号
+
+
+
+
+ 设备版本信息
+
+
+
+
+ cti文件序号
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:通过GenTL枚举到的设备信息 | en:Device Information discovered by with GenTL
+
+
+
+
+ 采集卡ID
+
+
+
+
+ 设备ID
+
+
+
+
+ 供应商名字
+
+
+
+
+ 模型名
+
+
+
+
+ 传输类型
+
+
+
+
+ 显示名
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 序列号
+
+
+
+
+ 设备版本信息
+
+
+
+
+ cti文件序号
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:GenTL设备列表 | en:GenTL devices list
+
+
+
+
+ 在线设备数量
+
+
+
+
+ 支持最多256个设备
+
+
+
+
+ Net Trans Info
+
+
+
+
+ 已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量]
+
+
+
+
+ 丢帧数量
+
+
+
+
+ 接收帧数
+
+
+
+
+ 请求重发包数
+
+
+
+
+ 重发包数
+
+
+
+
+ Frame Out Info
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 帧号
+
+
+
+
+ 时间戳高32位
+
+
+
+
+ 时间戳低32位
+
+
+
+
+ 保留,8字节对齐
+
+
+
+
+ 主机生成的时间戳
+
+
+
+
+ 帧数据大小
+
+
+
+
+ 丢包数量
+
+
+
+
+ 保留字节
+
+
+
+
+ Chunk数据信息
+
+
+
+
+ Chunk数据
+
+
+
+
+ ChunkID
+
+
+
+
+ Chunk大小
+
+
+
+
+ 保留字节
+
+
+
+
+ Frame Out Info Ex
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 帧号
+
+
+
+
+ 时间戳高32位
+
+
+
+
+ 时间戳低32位
+
+
+
+
+ 保留,8字节对齐
+
+
+
+
+ 主机生成的时间戳
+
+
+
+
+ Frame大小
+
+
+
+
+ 秒数
+
+
+
+
+ 周期数
+
+
+
+
+ 周期偏移量
+
+
+
+
+ 增益
+
+
+
+
+ 曝光时间
+
+
+
+
+ 平均亮度
+
+
+
+
+ Red
+
+
+
+
+ Green
+
+
+
+
+ Blue
+
+
+
+
+ 帧计数器
+
+
+
+
+ 触发计数
+
+
+
+
+ 输入
+
+
+
+
+ 输出
+
+
+
+
+ 水平偏移量
+
+
+
+
+ 垂直偏移量
+
+
+
+
+ Chunk宽度
+
+
+
+
+ Chunk高度
+
+
+
+
+ 丢包数
+
+
+
+
+ 为解析的Chunk数量
+
+
+
+
+ 为解析的Chunk列表
+
+
+
+
+ 图像宽扩展
+
+
+
+
+ 图像高扩展
+
+
+
+
+ 帧长度扩展
+
+
+
+
+ 保留字节
+
+
+
+
+ 为解析的Chunk列表
+
+
+
+
+ 为解析的Chunk内容
+
+
+
+
+ 对齐结构体,无实际用途
+
+
+
+
+ 输出帧信息
+
+
+
+
+ 帧数据地址
+
+
+
+
+ 帧信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 取流策略
+
+
+
+
+ 从旧到新一帧一帧的获取图像(默认为该策略)
+
+
+
+
+ 获取列表中最新的一帧图像(同时清除列表中的其余图像)
+
+
+
+
+ 获取列表中最新的图像,个数由OutputQueueSize决定,范围为1-ImageNodeNum,设置成1等同于LatestImagesOnly,设置成ImageNodeNum等同于OneByOne
+
+
+
+
+ 等待下一帧图像
+
+
+
+
+ 显示帧信息
+
+
+
+
+ 显示窗口的句柄
+
+
+
+
+ 显示的帧数据
+
+
+
+
+ 显示的帧数据大小
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 保留字节
+
+
+
+
+ 显示帧信息
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 显示的帧数据
+
+
+
+
+ 显示的帧数据大小
+
+
+
+
+ 图像渲染方式 0-默认模式(Windows GDI/Linux OPENGL), 1-D3D模式(Windows有效)
+
+
+
+
+ 保留字节
+
+
+
+
+ 图像信息
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 图像缓存
+
+
+
+
+ 图像缓存大小
+
+
+
+
+ 图像长度
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:保存3D数据格式 | en:Save 3D file
+
+
+
+
+ 未定义数据格式
+
+
+
+
+ PLY数据格式
+
+
+
+
+ CSV数据格式
+
+
+
+
+ OBJ数据格式
+
+
+
+
+ 保存的点阵参数
+
+
+
+
+ [IN] 每一行点的数量
+
+
+
+
+ [IN] 行数
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小(nLinePntNum * nLineNum * (16*3 + 4) + 2048)
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ 保存的点阵文件类型
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存的图像格式
+
+
+
+
+ 未定义类型
+
+
+
+
+ Bmp图像格式
+
+
+
+
+ Jpeg图像格式
+
+
+
+
+ Png图像格式
+
+
+
+
+ Tif图像格式
+
+
+
+
+ 保存的图像参数
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 输出图片格式
+
+
+
+
+ 保存的图像参数
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 输出图片格式
+
+
+
+
+ [IN] 编码质量, (50-99]
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存的图像信息扩展
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 输出图片格式
+
+
+
+
+ [IN] 编码质量, (50-99]
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存图像到文件的参数
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 输入图片格式
+
+
+
+
+ [IN] 编码质量, (0-100]
+
+
+
+
+ [IN] 输入文件路径
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存图像到文件信息扩展
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入图片格式
+
+
+
+
+ [IN] 输入文件路径
+
+
+
+
+ [IN] 编码质量, (0-100]
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存图片所需参数
+
+
+
+
+ [IN] 输入图片格式
+
+
+
+
+ [IN] 编码质量, (0-100]
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 旋转角度
+
+
+
+
+ 旋转90度
+
+
+
+
+ 旋转180度
+
+
+
+
+ 旋转270度
+
+
+
+
+ 旋转图像参数
+
+
+
+
+ [IN] 像素格式(仅支持Mono8/RGB24/BGR24)
+
+
+
+
+ [IN][OUT] 图像宽
+
+
+
+
+ [IN][OUT] 图像高
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 旋转角度
+
+
+
+
+ 保留字节
+
+
+
+
+ 图像翻转类型
+
+
+
+
+ 垂直方向翻转
+
+
+
+
+ 水平方向翻转
+
+
+
+
+ 翻转图像参数
+
+
+
+
+ [IN] 像素格式(仅支持Mono8/RGB24/BGR24)
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 翻转类型
+
+
+
+
+ 保留字节
+
+
+
+
+ 像素转换参数
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 源像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 目标像素格式
+
+
+
+
+ [OUT] 输出数据缓存
+
+
+
+
+ [OUT] 输出数据大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ 保留字节
+
+
+
+
+ 图像像素转换信息扩展
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 源像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 目标像素格式
+
+
+
+
+ [OUT] 输出数据缓存
+
+
+
+
+ [OUT] 输出数据大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ 保留字节
+
+
+
+
+ Gamma类型
+
+
+
+
+ 不启用
+
+
+
+
+ GAMMA值
+
+
+
+
+ GAMMA曲线,8位需要的长度:256*sizeof(unsigned char)
+ 10位需要的长度:1024*sizeof(unsigned short)
+ 12位需要的长度:4096*sizeof(unsigned short)
+ 16位需要的长度:65536*sizeof(unsigned short)
+
+
+
+
+ 线性RGB转非线性RGB
+
+
+
+
+ 非线性RGB转线性RGB
+
+
+
+
+ Gamma参数
+
+
+
+
+ [IN] Gamma类型
+
+
+
+
+ [IN] Gamma值
+
+
+
+
+ [IN] Gamma曲线缓存
+
+
+
+
+ [IN] Gamma曲线长度
+
+
+
+
+ 保留字节
+
+
+
+
+ CCM参数
+
+
+
+
+ [IN] 是否启用CCM
+
+
+
+
+ [IN] CCM矩阵(-8192~8192)
+
+
+
+
+ 保留字节
+
+
+
+
+ CCM参数
+
+
+
+
+ [IN] 是否启用CCM
+
+
+
+
+ [IN] 量化3x3矩阵
+
+
+
+
+ [IN] 量化系数(2的整数幂)
+
+
+
+
+ 保留字节
+
+
+
+
+ CLUT参数
+
+
+
+
+ [IN] 是否启用CLUT
+
+
+
+
+ [IN] 量化系数(2的整数幂)
+
+
+
+
+ [IN] CLUT大小,建议值17
+
+
+
+
+ [OUT] 量化CLUT
+
+
+
+
+ [IN] 量化CLUT缓存大小(nCLUTSize*nCLUTSize*nCLUTSize*sizeof(int)*3)
+
+
+
+
+ 保留字节
+
+
+
+
+ 对比度调节参数
+
+
+
+
+ [IN] 图像宽度(最小8)
+
+
+
+
+ [IN] 图像高度(最小8)
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 对比度值,范围:[1, 10000]
+
+
+
+
+ 保留字节
+
+
+
+
+ 锐化参数
+
+
+
+
+ [IN] 图像宽度(最小8)
+
+
+
+
+ [IN] 图像高度(最小8)
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 锐度调节强度,范围:[0, 500]
+
+
+
+
+ [IN] 锐度调节半径(半径越大,耗时越长),范围:[1, 21]
+
+
+
+
+ [IN] 锐度调节阈值,范围:[0, 255]
+
+
+
+
+ 保留字节
+
+
+
+
+ 色彩校正参数(包括CCM和CLUT)
+
+
+
+
+ [IN] 图像宽度
+
+
+
+
+ [IN] 图像高度
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 输入有效图像位数,8 or 10 or 12 or 16
+
+
+
+
+ [IN] 输入Gamma信息
+
+
+
+
+ [IN] 输入CCM信息
+
+
+
+
+ [IN] 输入CLUT信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 矩形ROI参数
+
+
+
+
+ [IN] 矩形左上角X轴坐标
+
+
+
+
+ [IN] 矩形左上角Y轴坐标
+
+
+
+
+ [IN] 矩形宽度
+
+
+
+
+ [IN] 矩形高度
+
+
+
+
+ 噪声估计参数
+
+
+
+
+ [IN] 图像宽度
+
+
+
+
+ [IN] 图像高度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 图像ROI
+
+
+
+
+ [IN] ROI个数
+
+
+
+
+ [IN] 噪声阈值[0-4095]
+
+
+
+
+ [OUT] 输出噪声特性
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出噪声特性长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 空域降噪参数
+
+
+
+
+ [IN] 图像宽度
+
+
+
+
+ [IN] 图像高度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [OUT] 输出降噪后的数据
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出降噪后的数据长度
+
+
+
+
+ [IN] 输入噪声特性
+
+
+
+
+ [IN] 输入噪声特性长度
+
+
+
+
+ [IN] 降噪强度(0-100)
+
+
+
+
+ [IN] 锐化强度(0-32)
+
+
+
+
+ [IN] 噪声校正系数(0-1280)
+
+
+
+
+ [IN] 亮度校正系数(1-2000)
+
+
+
+
+ [IN] 色调校正系数(1-2000)
+
+
+
+
+ [IN] 亮度降噪强度(0-100)
+
+
+
+
+ [IN] 色调降噪强度(0-100)
+
+
+
+
+ [IN] 锐化强度(1-1000)
+
+
+
+
+ 保留字节
+
+
+
+
+ LSC标定参数
+
+
+
+
+ [IN] 图像宽度(16~65536)
+
+
+
+
+ [IN] 图像高度(16~65536)
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [OUT] 输出标定表缓存
+
+
+
+
+ [IN] 提供的标定表缓冲大小(nWidth*nHeight*sizeof(unsigned short))
+
+
+
+
+ [OUT] 输出标定表缓存长度
+
+
+
+
+ [IN] 宽度分块数
+
+
+
+
+ [IN] 高度分块数
+
+
+
+
+ [IN] 边缘填充系数,范围1~5
+
+
+
+
+ [IN] 标定方式,0-中心为基准
+ 1-最亮区域为基准
+ 2-目标亮度
+
+
+
+
+ [IN] 目标亮度(8bits,[0,255])
+ (10bits,[0,1023])
+ (12bits,[0,4095])
+ (16bits,[0,65535])
+
+
+
+
+ 保留字节
+
+
+
+
+ LSC校正参数
+
+
+
+
+ [IN] 图像宽度(16~65536)
+
+
+
+
+ [IN] 图像高度(16~65536)
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 输入校正表缓存
+
+
+
+
+ [IN] 输入校正表缓存长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 噪声特性类型
+
+
+
+
+ 无效
+
+
+
+
+ 噪声曲线
+
+
+
+
+ 噪声水平
+
+
+
+
+ 默认值
+
+
+
+
+ 噪声基本信息
+
+
+
+
+ 版本
+
+
+
+
+ 噪声特性类型
+
+
+
+
+ 图像格式
+
+
+
+
+ 平均噪声水平
+
+
+
+
+ 曲线点数
+
+
+
+
+ 噪声曲线
+
+
+
+
+ 亮度曲线
+
+
+
+
+ 保留字节
+
+
+
+
+ 噪声估计参数
+
+
+
+
+ [IN] 图像宽(大于等于8)
+
+
+
+
+ [IN] 图像高(大于等于8)
+
+
+
+
+ [IN] 像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 噪声阈值(0-4095)
+
+
+
+
+ [IN] 用于存储噪声曲线和亮度曲线(需要外部分配,缓存大小:4096 * sizeof(int) * 2)
+
+
+
+
+ [OUT] 降噪特性信息
+
+
+
+
+ [IN] 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目
+
+
+
+
+ 保留字节
+
+
+
+
+ 降噪参数
+
+
+
+
+ [IN] 图像宽(大于等于8)
+
+
+
+
+ [IN] 图像高(大于等于8)
+
+
+
+
+ [IN] 像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出降噪后的数据
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出降噪后的数据长度
+
+
+
+
+ [IN] 降噪特性信息(来源于噪声估计)
+
+
+
+
+ [IN] 降噪强度(0-100)
+
+
+
+
+ [IN] 锐化强度(0-32)
+
+
+
+
+ [IN] 噪声校正系数(0-1280)
+
+
+
+
+ [IN] 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目
+
+
+
+
+ 保留字节
+
+
+
+
+ 帧特殊信息
+
+
+
+
+ [OUT] 秒数
+
+
+
+
+ [OUT] 周期数
+
+
+
+
+ [OUT] 周期偏移量
+
+
+
+
+ [OUT] 增益
+
+
+
+
+ [OUT] 曝光时间
+
+
+
+
+ [OUT] 平均亮度
+
+
+
+
+ [OUT] 红色
+
+
+
+
+ [OUT] 绿色
+
+
+
+
+ [OUT] 蓝色
+
+
+
+
+ [OUT] 总帧数
+
+
+
+
+ [OUT] 触发计数
+
+
+
+
+ [OUT] 输入
+
+
+
+
+ [OUT] 输出
+
+
+
+
+ [OUT] 水平偏移量
+
+
+
+
+ [OUT] 垂直偏移量
+
+
+
+
+ [OUT] 水印宽
+
+
+
+
+ [OUT] 水印高
+
+
+
+
+ 保留字节
+
+
+
+
+ HB解码参数
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 图像宽
+
+
+
+
+ [OUT] 图像高
+
+
+
+
+ [OUT] 输出数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出数据大小
+
+
+
+
+ [OUT] 输出的像素格式
+
+
+
+
+ [OUT] 水印信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 录像格式定义
+
+
+
+
+ 未定义格式
+
+
+
+
+ AVI格式
+
+
+
+
+ 录像参数
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽(指定目标参数时需为8的倍数)
+
+
+
+
+ [IN] 图像高(指定目标参数时需为8的倍数)
+
+
+
+
+ [IN] 帧率fps(大于1/16)
+
+
+
+
+ [IN] 码率kbps(128kbps-16Mbps)
+
+
+
+
+ [IN] 录像格式
+
+
+
+
+ [IN] 录像文件存放路径
+
+
+
+
+ 保留字节
+
+
+
+
+ 输入帧信息
+
+
+
+
+ [IN] 图像数据指针
+
+
+
+
+ [IN] 图像大小
+
+
+
+
+ 保留字节
+
+
+
+
+ 采集模式
+
+
+
+
+ 单帧模式
+
+
+
+
+ 多帧模式
+
+
+
+
+ 持续采集模式
+
+
+
+
+ 增益模式
+
+
+
+
+ 关闭
+
+
+
+
+ 一次
+
+
+
+
+ 连续
+
+
+
+
+ 曝光模式
+
+
+
+
+ Timed
+
+
+
+
+ TriggerWidth
+
+
+
+
+ 自动曝光模式
+
+
+
+
+ 关闭
+
+
+
+
+ 一次
+
+
+
+
+ 连续
+
+
+
+
+ 相机触发模式
+
+
+
+
+ 关闭
+
+
+
+
+ 打开
+
+
+
+
+ Gamma选择器
+
+
+
+
+ USER
+
+
+
+
+ SRGB
+
+
+
+
+ 自动白平衡
+
+
+
+
+ 关闭自动白平衡
+
+
+
+
+ 一次自动白平衡
+
+
+
+
+ 连续自动白平衡
+
+
+
+
+ 触发源
+
+
+
+
+ LINE0
+
+
+
+
+ LINE1
+
+
+
+
+ LINE2
+
+
+
+
+ LINE3
+
+
+
+
+ COUNTER0
+
+
+
+
+ SOFTWARE
+
+
+
+
+ FrequencyConverter
+
+
+
+
+ ALL MATHCH INFO
+
+
+
+
+ 需要输出的信息类型,e.g. MV_MATCH_TYPE_NET_DETECT
+
+
+
+
+ 输出的信息缓存,由调用者分配
+
+
+
+
+ 信息缓存的大小
+
+
+
+
+
+
+
+
+
+ 已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量]
+
+
+
+
+ 丢失的包数量
+
+
+
+
+ 丢帧数量
+
+
+
+
+ 帧数
+
+
+
+
+ 请求重发包数
+
+
+
+
+ 重发包数
+
+
+
+
+ USB
+
+
+
+
+ 已接收数据大小 [统计OpenDevicce和CloseDevice之间的数据量]
+
+
+
+
+ 已收到的帧数
+
+
+
+
+ 错误帧数
+
+
+
+
+ 保留字节
+
+
+
+
+ 图像的基本信息
+
+
+
+
+ 宽度值
+
+
+
+
+ 宽度最小值
+
+
+
+
+ 宽度最大值
+
+
+
+
+ Width Inc
+
+
+
+
+ 高度值
+
+
+
+
+ 高度最小值
+
+
+
+
+ 高度最大值
+
+
+
+
+ Height Inc
+
+
+
+
+ 帧率
+
+
+
+
+ 最小帧率
+
+
+
+
+ 最大帧率
+
+
+
+
+ 当前的像素格式
+
+
+
+
+ 支持的像素格式种类
+
+
+
+
+ 像素列表
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点是否可见的权限等级
+
+
+
+
+ Always visible
+
+
+
+
+ Visible for experts or Gurus
+
+
+
+
+ Visible for Gurus
+
+
+
+
+ Not Visible
+
+
+
+
+ Object is not yet initialized
+
+
+
+
+ 事件信息
+
+
+
+
+ 事件名
+
+
+
+
+ Event号
+
+
+
+
+ 流通到序号
+
+
+
+
+ 帧号高位
+
+
+
+
+ 帧号低位
+
+
+
+
+ 时间戳高位
+
+
+
+
+ 时间戳低位
+
+
+
+
+ Event数据
+
+
+
+
+ Event数据长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点错误类型
+
+
+
+
+ 节点不存在
+
+
+
+
+ 访问条件错误,通常是节点不可读写
+
+
+
+
+ 写入越界,超出该节点支持的范围
+
+
+
+
+ 校验失败,通常是写入的值与文件中的值不匹配
+
+
+
+
+ 其它错误,可查阅日志
+
+
+
+
+ 节点错误信息
+
+
+
+
+ 节点名称
+
+
+
+
+ 错误类型
+
+
+
+
+ 保留字节
+
+
+
+
+ 错误信息列表
+
+
+
+
+ 错误个数
+
+
+
+
+ 错误信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点名称
+
+
+
+
+ 节点名称
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点列表
+
+
+
+
+ 错误信息
+
+
+
+
+ 节点个数
+
+
+
+
+ 保留字节
+
+
+
+
+ 文件存取
+
+
+
+
+ 用户文件名
+
+
+
+
+ 设备文件名
+
+
+
+
+ 保留字节
+
+
+
+
+ 文件存取
+
+
+
+
+ 用户文件数据缓存空间
+
+
+
+
+ 用户数据缓存大小
+
+
+
+
+ 文件实际缓存大小
+
+
+
+
+ 设备文件名
+
+
+
+
+ 保留字节
+
+
+
+
+ 文件存取进度
+
+
+
+
+ 已完成的长度
+
+
+
+
+ 总长度
+
+
+
+
+ 保留字节
+
+
+
+
+ GigE传输类型
+
+
+
+
+ 表示单播(默认)
+
+
+
+
+ 表示组播
+
+
+
+
+ 表示局域网内广播,暂不支持
+
+
+
+
+ 表示子网内广播,暂不支持
+
+
+
+
+ 表示从相机获取,暂不支持
+
+
+
+
+ 表示用户自定义应用端接收图像数据Port号
+
+
+
+
+ 表示设置了单播,但本实例不接收图像数据
+
+
+
+
+ 表示组播模式,但本实例不接收图像数据
+
+
+
+
+ 传输模式,可以为单播模式、组播模式等
+
+
+
+
+ 传输模式
+
+
+
+
+ 目标IP,组播模式下有意义
+
+
+
+
+ 目标Port,组播模式下有意义
+
+
+
+
+ 保留字节
+
+
+
+
+ 动作命令信息
+
+
+
+
+ 设备密钥
+
+
+
+
+ 组键
+
+
+
+
+ 组掩码
+
+
+
+
+ 只有设置成1时Action Time才有效,非1时无效
+
+
+
+
+ 预定的时间,和主频有关
+
+
+
+
+ 广播包地址
+
+
+
+
+ 等待ACK的超时时间,如果为0表示不需要ACK
+
+
+
+
+ 只有设置成1时指定的网卡IP才有效,非1时无效
+
+
+
+
+ 指定的网卡IP
+
+
+
+
+ 保留字节
+
+
+
+
+ 动作命令结果
+
+
+
+
+ IP address of the device
+
+
+
+
+ status code returned by the device
+
+
+
+
+ 保留字节
+
+
+
+
+ 动作命令结果列表
+
+
+
+
+ 返回值个数
+
+
+
+
+ 返回的结果
+
+
+
+
+ 每个节点对应的接口类型
+
+
+
+
+ IValue接口类型
+
+
+
+
+ IBase接口类型
+
+
+
+
+ IInteger接口类型
+
+
+
+
+ IBoolean接口类型
+
+
+
+
+ ICommand接口类型
+
+
+
+
+ IFloat接口类型
+
+
+
+
+ IString接口类型
+
+
+
+
+ IRegister接口类型
+
+
+
+
+ ICategory接口类型
+
+
+
+
+ IEnumeration接口类型
+
+
+
+
+ IEnumEntry接口类型
+
+
+
+
+ IPort接口类型
+
+
+
+
+ XML节点特点
+
+
+
+
+ 节点类型
+
+
+
+
+ 是否可见
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ 保留字节
+
+
+
+
+ XML节点列表
+
+
+
+
+ 节点个数
+
+
+
+
+ 节点列表
+
+
+
+
+ 整型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ Inc
+
+
+
+
+ 保留字节
+
+
+
+
+ 整型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ Inc
+
+
+
+
+ 保留字节
+
+
+
+
+ 浮点型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ 保留字节
+
+
+
+
+ 枚举型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 有效数据个数
+
+
+
+
+ 保留字节
+
+
+
+
+ 保留字节
+
+
+
+
+ 枚举型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 有效数据个数
+
+
+
+
+ 保留字节
+
+
+
+
+ 保留字节
+
+
+
+
+ 字符串型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 节点值的最大长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点的读写性
+
+
+
+
+ 未实现
+
+
+
+
+ 不可获取
+
+
+
+
+ 只写
+
+
+
+
+ 只读
+
+
+
+
+ 可读可写
+
+
+
+
+ 未定义
+
+
+
+
+ 内部用于AccessMode循环检测
+
+
+
+
+ 整型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 最小值
+
+
+
+
+ 最大值
+
+
+
+
+ 增量
+
+
+
+
+ 保留字节
+
+
+
+
+ 布尔型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ 命令型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 保留字节
+
+
+
+
+ 浮点型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 最小值
+
+
+
+
+ 最大值
+
+
+
+
+ 增量
+
+
+
+
+ 保留字节
+
+
+
+
+ 字符串类型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ 寄存器型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ 类别属性
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 保留字节
+
+
+
+
+ EnumEntry属性节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+
+
+
+
+
+ 父节点数
+
+
+
+
+ 父节点列表
+
+
+
+
+ 是否可见
+
+
+
+
+ 当前值
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点描述
+
+
+
+
+ 节点描述
+
+
+
+
+ Enumeration属性节点
+
+
+
+
+ 是否可见
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ Symbolic数
+
+
+
+
+ 当前Symbolic索引
+
+
+
+
+ Symbolic索引
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ Port属性节点
+
+
+
+
+ 是否可见
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 保留字节
+
+
+
+ 辅助线颜色
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ 预留字节
+
+
+ 自定义点坐标
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ 预留字节
+
+
+ 矩形框区域信息
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ 辅助线颜色
+
+
+ 辅助线宽度
+
+
+ 预留字节
+
+
+ 圆形框区域信息
+
+
+ 圆心信息
+
+
+ 宽向半径,根据图像的相对位置[0, 1.0]
+
+
+ 高向半径,根据图像的相对位置[0, 1.0]
+
+
+ 辅助线颜色信息
+
+
+ 辅助线宽度
+
+
+ 预留字节
+
+
+ 线条辅助线信息
+
+
+ 线条辅助线的起始点坐标
+
+
+ 线条辅助线的终点坐标
+
+
+ 辅助线颜色信息
+
+
+ 辅助线宽度
+
+
+ 预留字节
+
+
+ 枚举类型指定条目信息
+
+
+ 指定值
+
+
+ 指定值对应的符号
+
+
+ 预留字节
+
+
+ U3V流异常类型
+
+
+ 异常的图像,该帧被丢弃
+
+
+ 缓存列表溢出,清除最旧的一帧
+
+
+ 缓存列表为空,该帧被丢弃
+
+
+ 断流恢复
+
+
+ 断流,恢复失败,取流被中止
+
+
+ 设备异常,取流被中止
+
+
+ 重构后的图像列表
+
+
+ 源图像宽
+
+
+ 源图像高
+
+
+ 像素格式
+
+
+ 输出数据缓存
+
+
+ 输出数据长度
+
+
+ 提供的输出缓冲区大小
+
+
+ 预留字节
+
+
+
+ 分时曝光的图像处理方式
+
+
+
+
+ 源图像按行拆分成多张图像
+
+
+
+
+ 源图像两行拆分成多张图像
+
+
+
+ 重构图像参数信息
+
+
+ 源图像宽
+
+
+ 源图像高
+
+
+ 像素格式
+
+
+ 输入数据缓存
+
+
+ 输入数据长度
+
+
+ 曝光个数(1-8]
+
+
+ 图像重构方式
+
+
+
+ 输出数据缓存信息
+
+
+
+ 预留字节
+
+
+ 串口信息
+
+
+
+ 串口号
+
+
+
+
+ 保留字节
+
+
+
+ 串口列表
+
+
+
+ 串口数量
+
+
+
+
+ 串口信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 像素格式定义
+
+
+
+
+ 未定义像素格式
+
+
+
+
+ Mono1p
+
+
+
+
+ Mono2p
+
+
+
+
+ Mono4p
+
+
+
+
+ Mono8
+
+
+
+
+ Mono8_Signed
+
+
+
+
+ Mono10
+
+
+
+
+ Mono10_Packed
+
+
+
+
+ Mono12
+
+
+
+
+ Mono12_Packed
+
+
+
+
+ Mono14
+
+
+
+
+ Mono16
+
+
+
+
+ BayerGR8
+
+
+
+
+ BayerRG8
+
+
+
+
+ BayerGB8
+
+
+
+
+ BayerBG8
+
+
+
+
+ BayerRBGG8
+
+
+
+
+ BayerGR10
+
+
+
+
+ BayerRG10
+
+
+
+
+ BayerGB10
+
+
+
+
+ BayerBG10
+
+
+
+
+ BayerGR12
+
+
+
+
+ BayerRG12
+
+
+
+
+ BayerGB12
+
+
+
+
+ BayerBG12
+
+
+
+
+ BayerGR10_Packed
+
+
+
+
+ BayerRG10_Packed
+
+
+
+
+ BayerGB10_Packed
+
+
+
+
+ BayerBG10_Packed
+
+
+
+
+ BayerGR12_Packed
+
+
+
+ BayerRG12_Packed
+
+
+ BayerGB12_Packed
+
+
+ BayerBG12_Packed
+
+
+ BayerGR16
+
+
+ BayerRG16
+
+
+ BayerGB16
+
+
+ BayerBG16
+
+
+ RGB8_Packed
+
+
+ BGR8_Packed
+
+
+ RGBA8_Packed
+
+
+ BGRA8_Packed
+
+
+ RGB10_Packed
+
+
+ BGR10_Packed
+
+
+ RGB12_Packed
+
+
+ BGR12_Packed
+
+
+ RGB16_Packed
+
+
+ BGR16_Packed///
+
+
+ RGBA16_Packed
+
+
+ BGRA16_Packed
+
+
+ RGB10V1_Packe
+
+
+ RGB10V2_Packed
+
+
+ RGB12V1_Packed
+
+
+ RGB565_Packed
+
+
+ BGR565_Packed
+
+
+ YUV411_Packed
+
+
+ YUV422_Packed
+
+
+ YUV422_YUYV_Packed
+
+
+ YUV444_Packed
+
+
+ YCBCR8_CBYCR
+
+
+ YCBCR422_8
+
+
+ YCBCR422_8_CBYCRY
+
+
+ YCBCR411_8_CBYYCRYY
+
+
+ YCBCR601_8_CBYCR
+
+
+ YCBCR601_422_8
+
+
+ YCBCR601_422_8_CBYCRY
+
+
+ YCBCR601_411_8_CBYYCRYY
+
+
+ YCBCR709_8_CBYCR
+
+
+ YCBCR709_422_8
+
+
+ YCBCR709_422_8_CBYCRY
+
+
+ YCBCR709_411_8_CBYYCRYY
+
+
+ YUV420SP_NV12
+
+
+ YUV420SP_NV21
+
+
+ RGB8_Planar
+
+
+ RGB10_Planar
+
+
+ RGB12_Planar
+
+
+ RGB16_Planar
+
+
+ Jpeg
+
+
+ Coord3D_ABC32f
+
+
+ Coord3D_ABC32f_Planar
+
+
+ Coord3D_AC32f
+
+
+ COORD3D_DEPTH_PLUS_MASK
+
+
+ Coord3D_ABC32
+
+
+ Coord3D_AB32f
+
+
+ Coord3D_AB32
+
+
+ Coord3D_AC32f_64
+
+
+ Coord3D_AC32f_Planar
+
+
+ Coord3D_AC32
+
+
+ Coord3D_A32f
+
+
+ Coord3D_A32
+
+
+ Coord3D_C32f
+
+
+ Coord3D_C32
+
+
+ Coord3D_ABC16
+
+
+ Coord3D_C16
+
+
+ Float32
+
+
+ HB_Mono8
+
+
+ HB_Mono10
+
+
+ HB_Mono10_Packed
+
+
+ HB_Mono12
+
+
+ HB_Mono12_Packed
+
+
+ HB_Mono16
+
+
+ HB_BayerGR8
+
+
+ HB_BayerRG8
+
+
+ HB_BayerGB8
+
+
+ HB_BayerBG8
+
+
+ HB_BayerRBGG8
+
+
+ HB_BayerGR10
+
+
+ HB_BayerRG10
+
+
+ HB_BayerGB10
+
+
+ HB_BayerBG10
+
+
+ HB_BayerGR12
+
+
+ HB_BayerRG12
+
+
+ HB_BayerGB12
+
+
+ HB_BayerBG12
+
+
+ HB_BayerGR10_Packed
+
+
+ HB_BayerRG10_Packed
+
+
+ HB_BayerGB10_Packed
+
+
+ HB_BayerBG10_Packed
+
+
+ HB_BayerGR12_Packed
+
+
+ HB_BayerRG12_Packed
+
+
+ HB_BayerGB12_Packed
+
+
+ HB_BayerBG12_Packed
+
+
+ HB_YUV422_Packed
+
+
+ HB_YUV422_YUYV_Packed
+
+
+ HB_RGB8_Packed
+
+
+ HB_BGR8_Packed
+
+
+ HB_RGBA8_Packed
+
+
+ HB_BGRA8_Packed
+
+
+ HB_RGB16_Packed
+
+
+ HB_BGR16_Packed
+
+
+ HB_RGBA16_Packed
+
+
+ HB_BGRA16_Packed
+
+
+
+ 图像类,实现基本的图像属性和接口,实现图像克隆、ToBitmap。作为其他图像类的基类
+
+
+
+
+ 根据图像宽、高和像素格式创建对象,内部申请内存
+
+ 图像宽度
+ 图像高度
+ 像素格式
+ 相机句柄,用于ToBitmap时像素格式转换
+
+
+
+ 根据图像宽、高、像素格式、图像大小创建对象,内部申请内存
+
+ 图像宽度
+ 图像高度
+ 像素格式
+ 图像大小
+ 相机句柄,用于ToBitmap时像素格式转换
+
+
+
+ 根据图像宽、高、像素格式、图像大小创建对象,外部传入内存
+
+
+
+
+
+
+
+
+
+
+ 用于克隆
+
+
+
+
+
+ 构造空对象,内部变量由由子类初始化
+
+
+
+
+ 相机句柄,用于内部做格式转换等图像处理
+
+
+
+
+ 非托管内存指针
+
+
+
+
+ 图像数据,内部会进行一次拷贝,将非托管内存拷贝到托管内存
+
+
+
+
+ 从C库获取图像地址(GetImageBuffer或者回调),包装成Image,图像数据存放在非托管内存中
+
+
+
+
+ 使用传入的非托管内存创建新的对象
+
+
+
+
+
+
+ 设备句柄
+
+
+
+ 非托管内存指针
+
+
+
+
+ 图像数据,内部会进行一次拷贝,将非托管内存拷贝到托管内存
+
+
+
+
+ 基于内存池的Image对象,用于图像处理相关接口
+
+
+
+
+ 根据图像宽、高和像素格式创建对象,内部申请内存
+
+ 图像宽度
+ 图像高度
+ 像素格式
+ 相机句柄,用于ToBitmap时像素格式转换
+ 内存池
+
+
+
+ 根据图像宽、高、像素格式、图像大小创建对象,内部申请内存
+
+ 图像宽度
+ 图像高度
+ 像素格式
+ 相机句柄,用于ToBitmap时像素格式转换
+ 图像大小
+ 内存池
+
+
+
+ 根据图像宽、高、像素格式、图像大小创建对象,外部传入内存池内存
+
+
+
+
+
+
+
+
+
+
+
+ 整型参数实现类
+
+
+
+
+ 整形参数
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ Increment
+
+
+
+
+ 枚举项参数
+
+
+
+
+ 枚举值
+
+
+
+
+ 枚举符号
+
+
+
+
+ 枚举类型实现类
+
+
+
+
+ 枚举类型参数
+
+
+
+
+ 当前枚举项
+
+
+
+
+ 支持的枚举类型个数
+
+
+
+
+ 支持的枚举项列表
+
+
+
+
+ float类型实现类
+
+
+
+
+ 浮点型参数
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ String类型参数实现类
+
+
+
+
+ 字符串类型参数
+
+
+
+
+ 当前值
+
+
+
+
+ 最大长度
+
+
+
+
+ 参数导入时出错的节点信息
+
+
+
+
+ 参数导入导出时的节点错误信息
+
+
+
+
+ 节点名称
+
+
+
+
+ 错误类型
+
+
+
+
+ 节点名称
+
+
+
+
+ 错误信息
+
+
+
+
+ 参数实现类
+
+
+
+
+ 提供设备参数配置相关接口
+
+
+
+
+ 清除GenICam节点缓存
+
+ 成功,返回MV_OK;失败,返回错误码
+
+ 在加载工业相机节点时需要读取GenICam配置文件,该接口可以起到清除GenICam缓存的功能。
+
+
+
+
+ 获取Integer属性值
+
+ 属性键值,如获取宽度信息则为"Width"
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Integer型属性值
+
+ 属性键值,如设置宽度信息则为"Width"
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取Enumeration属性值
+
+ 属性键值,如获取像素格式信息则为"PixelFormat"
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Enumeration属性值
+
+ 属性键值,如设置像素格式信息则为"PixelFormat"
+ Enum型节点的值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Enumeration属性
+
+ 属性键值,如设置像素格式信息则为"PixelFormat"
+ EnumEntry的名称
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取Float属性值
+
+ 属性键值
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Float型属性值
+
+ 属性键值
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取Boolean属性值
+
+ 属性键值
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Boolean型属性值
+
+ 属性键值
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取String属性值
+
+ 属性键值
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置String型属性值
+
+ 属性键值
+ 属性值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Command型属性值
+
+ 属性键值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 导入设备属性文件
+
+ 文件路径
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 导入设备属性文件并保存错误信息列表
+
+ 文件路径
+ 导入失败的节点信息
+ 成功,返回MV_OK;失败,返回错误码
+ 部分节点导入失败时也会返回MV_OK,通过nodeErrors返回导入失败的节点及错误原因
+
+
+
+ 保存设备属性到文件
+
+ 文件路径
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 通过设备寄存器地址读取寄存器
+
+ 待读取的内存地址,该地址可以从设备的Camera.xml文件中获取,形如xxx_RegAddr的xml节点值
+ 待读取的内存长度
+ 存放读到的内存值(GEV设备内存值是按照大端模式存储的,其它协议设备按照小端存储)
+ 成功,返回MV_OK;失败,返回错误码
+
+ 访问设备,读取某段寄存器的数据。
+
+
+
+
+ 通过设备寄存器地址写寄存器
+
+ 待写入的内存地址,该地址可以从设备的Camera.xml文件中获取,形如xxx_RegAddr的xml节点值
+ 待写入的内存长度
+ 待写入的内存值(注意GEV设备内存值要按照大端模式存储,其它协议设备按照小端存储)
+ 成功,返回MV_OK;失败,返回错误码
+
+ 访问设备,把一段数据写入某段寄存器。
+
+
+
+
+ 获取设备属性树XML
+
+ 设备xml
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获得当前节点的访问模式
+
+ 节点名称
+ 节点的访问模式
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获得当前节点的类型
+
+ 节点名称
+ 节点类型
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 从设备读取文件,保存为本地文件
+
+ 设备文件名
+ 本地文件路径
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 从设备读取文件,保存在内存
+
+ 设备文件名
+ 缓存
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 将文件写入设备
+
+ 设备文件名
+ 本地文件路径
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 将内存中的文件写入设备
+
+ 设备文件名
+ 缓存
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取文件存取的进度
+
+ 已完成的长度
+ 总长度
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设备句柄
+
+
+
+
+ FileAccessRead到Byte数组时的默认文件大小
+
+
+
+
+ 构造函数
+
+
+
+
+
+ 提供像素格式转换相关接口
+
+
+
+
+ 设置图像插值算法类型
+
+ 图像插值算法
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设置内部图像转换接口的Bayer插值算法类型参数,、使用的插值算法是该接口所设定的
+
+
+
+
+ 插值算法平滑使能设置
+
+ 平滑使能(默认关闭)
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设置内部图像转换接口的Bayer插值平滑使能参数,、使用的插值算法是该接口所设定的。
+
+
+
+
+ 设置Bayer格式的Gamma值
+
+ Gamma值:0.1 ~ 4.0
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设置该值后,、将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
+
+
+
+
+ 设置Mono8/Bayer8/10/12/16格式的Gamma值
+
+ 像素格式
+ Gamma值:0.1 ~ 4.0
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设置Mono8的gamma值后,再调用将Mono8转成Mono8时gamma值起效。
+ 设置Bayer8/10/12/16的gamma值后,、将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
+ 该接口兼容接口,新增支持Mono8像素格式
+
+
+
+
+ 设置Bayer格式的Gamma信息
+
+ Gamma参数
+ 成功,返回MV_OK;失败,返回错误码
+
+ 设置该信息后,在、将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
+
+
+
+
+ 设置Bayer格式的CCM使能和矩阵,量化系数默认1024
+
+ CCM参数
+ 成功,返回MV_OK;失败,返回错误码
+
+ 开启CCM并设置CCM矩阵后,在、将Bayer8/10/12/16格式转成RGB24/48, RGBA32/64,BGR24/48,BGRA32/64时起效。
+
+
+
+
+ 像素格式转换
+
+ 输入图像
+ 输出图像。图像使用完之后需调用Dispose方法及时释放内存,防止内存快速上涨。
+ 目标像素格式
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 像素格式转换
+
+ 输入图像
+ 输出图像缓存
+ 输出图像长度
+ 目标像素格式
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取像素格式转换所需的缓存大小
+
+ 目标像素格式
+ 图像宽
+ 图像高
+ 缓存大小
+
+
+
+ 设备句柄, 用于内部做格式转换
+
+
+
+
+ 构造函数,内部创建内存池,只在ToBitmap中使用
+
+ 设备句柄
+
+
+
+ 构造函数
+
+ 设备句柄
+
+
+
+
+ 设置图像插值算法类型
+
+ 图像插值算法
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 插值算法平滑使能设置
+
+ 平滑使能(默认关闭)
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Bayer格式的Gamma值
+
+ Gamma值:0.1 ~ 4.0
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Mono8/Bayer8/10/12/16格式的Gamma值
+
+ 像素格式
+ Gamma值:0.1 ~ 4.0
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Bayer格式的Gamma信息
+
+ Gamma参数
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置Bayer格式的CCM使能和矩阵,量化系数默认1024
+
+ CCM参数
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 将图像转换为指定格式,输出IImage图像
+
+ 输入图像
+ 输出图像
+ 目的像素格式
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 将图像转换为指定格式,输出Byte数组
+
+ 输入图像
+ 输出图像缓存
+ 输出图像长度
+ 目的像素格式
+ 成功,返回MV_OK;失败,返回错误码
+
+ outBuffer设置为null时, outDataLen会给出结果图像需要的缓存长度
+
+
+
+
+ 获取像素格式转换所需的缓存大小
+
+ 目标像素格式
+ 图像宽
+ 图像高
+ 缓存大小
+
+
+
+ SDk全局信息及操作接口
+
+
+
+
+ 获取SDK版本信息
+
+ SDK版本号,格式x.y.z.a
+
+
+
+ 初始化SDK
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 反初始化SDK,释放资源
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 图像数据和帧信息
+
+
+
+
+ 图像数据
+
+
+
+
+ 帧号
+
+
+
+
+ 设备时间戳
+
+
+
+
+ 主机时间戳
+
+
+
+
+ 帧长度
+
+
+
+
+ 设备水印时标
+
+
+
+
+ 周期数
+
+
+
+
+ 周期偏移量
+
+
+
+
+ 增益
+
+
+
+
+ 曝光时间
+
+
+
+
+ 平均亮度
+
+
+
+
+ 白平衡红色通道
+
+
+
+
+ 白平衡绿色通道
+
+
+
+
+ 白平衡蓝色通道
+
+
+
+
+ 总帧数
+
+
+
+
+ 触发计数
+
+
+
+
+ 输入
+
+
+
+
+ 输出
+
+
+
+
+ ROI区域,水平偏移量
+
+
+
+
+ ROI区域,垂直偏移量
+
+
+
+
+ 本帧丢包数
+
+
+
+
+ Chunk数据
+
+
+
+
+ 深拷贝
+
+
+
+
+
+ 相机句柄
+
+
+
+
+ 图像类
+
+
+
+
+ 提供取流相关接口
+
+
+
+
+ 设置SDK内部图像缓存节点个数,大于等于1
+
+ 缓存节点个数
+ 成功,返回MV_OK;失败,返回错误码
+
+ 调用该接口可以设置SDK内部图像缓存节点个数,在 IStreamGrabber.StartGrabbing() 前调用。
+ 不同相机因为取流方式不同,不调用SetImageNodeNum方法的情况下,不同相机默认缓存节点的个数不同:比如 双U内部分配默认3个节点。
+ SDK实际分配的节点个数 = SDK内部预分配的个数 + 用户分配的节点(SetImageNodeNum);
+
+
+
+
+ 获取当前图像缓存区的有效图像个数
+
+ 有效图像个数
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 开始取流
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 开始取流,支持设置取流策略
+
+ 策略枚举值
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置输出缓存个数(只有在 StreamGrabStrategy.LatestImages 策略下才有效,范围:1-ImageNodeNum)
+
+ 输出缓存个数
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 停止取流
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取一帧图像
+
+ 等待超时时间
+ 图像数据和图像信息
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 释放图像缓存(此接口用于释放不再使用的图像缓存,与 IStreamGrabber.FreeImageBuffer() 配套使用)
+
+ 图像数据和图像数据
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 清除取流数据缓存
+
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口允许用户在不停止取流的时候,就能清除缓存中不需要的图像。
+ 该接口在连续模式切触发模式后,可以清除历史数据。
+
+
+
+
+ 设备流异常事件,只有USB设备支持
+
+
+ 在StartGrabbing前调用
+
+
+
+
+ 采集一帧图像的事件,获取图像数据
+
+
+ 在StartGrabbing前调用
+
+
+
+
+ 内部回调图像回调函数
+
+
+
+
+
+
+
+ 内部流异常回调函数
+
+
+
+
+
+
+ 将MvCCDll中的帧结构体转为FrameOut类
+
+
+
+
+
+
+
+ USB流异常回调
+
+
+
+
+ 设置U3V的传输包大小
+
+ 传输的包大小,单位:Byte,默认为1M,范围:Windows[0x400, 0x400000], Linux[0x400, 0x200000]
+ 成功,返回MV_OK;失败,返回错误码
+
+ 增加传输包大小可以适当降低取流时的CPU占用率。但不同的PC和不同USB扩展卡存在不同的兼容性,如果该参数设置过大可能会出现取不到图像的风险。
+
+
+
+
+ 获取U3V的传输包大小
+
+ 传输的包大小, 单位:Byte
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 设置U3V的传输通道个数
+
+ 传输通道个数,范围:1-10
+ 成功,返回MV_OK;失败,返回错误码
+
+ 可根据PC的性能、设备出图帧率、图像大小和内存使用率等因素对该参数进行调节。但不同的PC和不同的USB扩展卡存在不同的兼容性。
+
+
+
+
+ 获取U3V的传输通道个数
+
+ 传输通道个数
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口用于获取当前的U3V异步取流节点个数,2000W设备的MONO8默认为3个,YUV为默认2个,RGB为默认1个,其它情况默认8个节点。
+
+
+
+
+ 设置U3V的事件缓存节点个数
+
+ 事件缓存节点个数,范围:1-64
+ 成功,返回MV_OK;失败,返回错误码
+
+ 该接口用于设置当前的U3V事件缓存节点个数,默认情况下为5个。
+
+
+
+
+ 设置U3V相机同步读写超时时间,范围为1000~UINT,默认1000 ms
+
+ 同步读写超时时间
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取U3V相机同步读写超时时间
+
+ 同步读写超时时间
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 获取主机从USB设备接收的数据统计信息,如已接收字节数、帧数
+
+ USB传输信息
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 录像功能实现类
+
+
+
+
+ 录像,将图片录制成AVI格式视频
+
+
+
+
+ 开始录像
+
+ 录像文件存放路径
+ 录像参数
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 输入录像数据
+
+ 图像数据
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 停止录像
+
+ 成功,返回MV_OK;失败,返回错误码
+
+
+
+ 异常信息
+
+
+
+
+ 错误码
+
+
+
+
+ Xml节点访问模式
+
+
+
+
+ 不可实现
+
+
+
+
+ 不可用
+
+
+
+
+ 只写
+
+
+
+
+ 只读
+
+
+
+
+ 读写
+
+
+
+
+ 未定义
+
+
+
+
+ 内部用于AccessMode循环检测
+
+
+
+
+ 每个节点对应的接口类型
+
+
+
+
+ Value
+
+
+
+
+ Base
+
+
+
+
+ Integer
+
+
+
+
+ Boolean
+
+
+
+
+ Command
+
+
+
+
+ Float
+
+
+
+
+ String
+
+
+
+
+ Register
+
+
+
+
+ Category
+
+
+
+
+ Enumeration
+
+
+
+
+ EnumEntry
+
+
+
+
+ Port
+
+
+
+
+ 节点错误信息的类型
+
+
+
+
+ 节点不存在
+
+
+
+
+ 访问条件错误,通常是节点不可读写
+
+
+
+
+ 写入越界,超出该节点支持的范围
+
+
+
+
+ 校验失败,通常是写入的值与文件中的值不匹配
+
+
+
+
+ 其它错误,可查阅日志
+
+
+
+
+ 图像插值算法类型
+
+
+
+
+ 快速
+
+
+
+
+ 均衡
+
+
+
+
+ 最优
+
+
+
+
+ 最优+
+
+
+
+
+ Gamma类型
+
+
+
+
+ 不启用
+
+
+
+
+ Gamma值
+
+
+
+
+ Gamma曲线
+ 8位,长度:256*sizeof(unsigned char)
+ 10位,长度:1024*sizeof(unsigned short)
+ 12位,长度:4096*sizeof(unsigned short)
+ 16位,长度:65536*sizeof(unsigned short)
+
+
+
+
+ linear RGB to sRGB
+
+
+
+
+ sRGB to linear RGB(仅色彩插值时支持,色彩校正时无效)
+
+
+
+
+ Gamma参数
+
+
+
+
+ Gamma类型
+
+
+
+
+ Gamma值[0.1, 4.0]
+
+
+
+
+ Gamma曲线缓存
+
+
+
+
+ Gamma曲线长度
+
+
+
+
+ CCM参数
+
+
+
+
+ 是否启用CCM
+
+
+
+
+ CCM矩阵[-65536~65536],必须是Int32[9]
+
+
+
+
+ 量化系数(2的整数幂,最大65536)
+
+
+
+
+ 流异常类型
+
+
+
+
+ 异常的图像,该帧被丢弃
+
+
+
+
+ 缓存列表溢出,清除最旧的一帧
+
+
+
+
+ 缓存列表为空,该帧被丢弃
+
+
+
+
+ 断流恢复
+
+
+
+
+ 断流,恢复失败,取流被中止
+
+
+
+
+ 设备异常,取流被中止
+
+
+
+
+ 流异常事件
+
+
+
+
+ 流异常类型
+
+
+
+
+ 取流策略
+
+
+
+
+ 从旧到新一帧一帧的获取图像(默认为该策略)
+
+
+
+
+ 获取列表中最新的一帧图像,同时清除列表中的其余图像
+
+
+
+
+ 从输出缓存列表中获取最新的OutputQueueSize帧图像,其中OutputQueueSize范围为1-ImageNodeNum,可用 SetOutputQueueSize()接口设置。ImageNodeNum默认为1,可调用SetImageNodeNum()接口设置。 OutputQueueSize设置成1等同于LatestImagesOnly策略,OutputQueueSize设置成ImageNodeNum等同于OneByOne策略。
+
+
+
+
+ 在调用取流接口时忽略输出缓存列表中所有图像,并等待设备即将生成的一帧图像。该策略只支持GigE设备,不支持U3V设备
+
+
+
+
+ 采集一帧图像的事件,用于获取图像数据和帧信息
+
+
+
+
+ 图像帧信息
+
+
+
+
+ 视频格式
+
+
+
+
+ AVI格式
+
+
+
+
+ 录像参数
+
+
+
+
+ 输入数据的像素格式
+
+
+
+
+ 图像宽(指定目标参数时需为2的倍数)
+
+
+
+
+ 图像高(指定目标参数时需为2的倍数)
+
+
+
+
+ 帧率fps(大于1/16)
+
+
+
+
+ 码率kbps(128-16*1024)
+
+
+
+
+ 录像格式
+
+
+
+
+ MyCamera
+
+
+
+ ch GigE Vision采集卡 |en GigE Vision interface
+
+
+ ch Camera Link采集卡 |en Camera Link interface
+
+
+ ch CoaXPress采集卡 |en CoaXPress interface
+
+
+ ch XoFLink采集卡 |en XoFLink interface
+
+
+ Unknown Device Type, Reserved
+
+
+ GigE Device
+
+
+ 1394-a/b Device
+
+
+ USB3.0 Device
+
+
+ CameraLink Device
+
+
+ Virtual GigE Device
+
+
+ Virtual USB Device
+
+
+ GenTL GigE Device
+
+
+ GenTL CML Device
+
+
+ GenTL CXP Device
+
+
+ GenTL XOF Device
+
+
+
+ ch:信息结构体的最大缓存 | en: Max buffer size of information structs
+
+
+
+
+ 最大的相机数量
+
+
+
+
+ ch:最大Interface数量 | en:Max num of interfaces
+
+
+
+
+ ch:最大GenTL设备数量 | en:Max num of GenTL devices
+
+
+
+
+ XML节点描述最大长度
+
+
+
+
+ XML节点最大长度
+
+
+
+
+ XML节点最大数量
+
+
+
+
+ XML节点显示名最大数量
+
+
+
+
+ string类型节点值的最大长度
+
+
+
+
+ 最大父节点数
+
+
+
+
+ 最大节点描述长度
+
+
+
+
+ 设备断开连接
+
+
+
+
+ SDK与驱动版本不匹配
+
+
+
+
+ 相机Event事件名称最大长度
+
+
+
+ 最大枚举条目对应的符号长度
+
+
+ 分时曝光时最多将源图像拆分的个数
+
+
+
+ ch:最大支持的采集卡数量 | en:The maximum number of Frame Grabber interface supported
+
+
+
+
+ ch 静态 |en Static
+
+
+
+
+ ch DHCP |en DHCP
+
+
+
+
+ ch LLA |en LLA
+
+
+
+
+ 9600
+
+
+
+
+ 19200
+
+
+
+
+ 38400
+
+
+
+
+ 57600
+
+
+
+
+ 115200
+
+
+
+
+ 230400
+
+
+
+
+ 460800
+
+
+
+
+ 921600
+
+
+
+
+ ch 最大值 |en Auto Max
+
+
+
+
+ ch 网络流量和丢包信息 |en Network traffic and packet loss information
+
+
+
+
+ ch host接收到来自U3V设备的字节总数 |en The total number of bytes host received from U3V device
+
+
+
+
+ ch独占权限,其他APP只允许读CCP寄存器 |en Exclusive authority, other APP is only allowed to read the CCP register
+
+
+
+
+ ch 可以从5模式下抢占权限,然后以独占权限打开 |en You can seize the authority from the 5 mode, and then open with exclusive authority
+
+
+
+
+ ch 控制权限,其他APP允许读所有寄存器 |en Control authority, allows other APP reading all registers
+
+
+
+
+ ch 可以从5的模式下抢占权限,然后以控制权限打开 |en You can seize the authority from the 5 mode, and then open with control authority
+
+
+
+
+ ch 以可被抢占的控制权限打开 |en Open with seized control authority
+
+
+
+
+ ch 可以从5的模式下抢占权限,然后以可被抢占的控制权限打开 |en You can seize the authority from the 5 mode, and then open with seized control authority
+
+
+
+
+ ch 读模式打开设备,适用于控制权限下 |en Open with read mode and is available under control authority
+
+
+
+ 成功,无错误
+
+
+ 错误或无效的句柄
+
+
+ 不支持的功能
+
+
+ 缓存已满
+
+
+ 函数调用顺序错误
+
+
+ 错误的参数
+
+
+ 资源申请失败
+
+
+ 无数据
+
+
+ 前置条件有误,或运行环境已发生变化
+
+
+ 版本不匹配
+
+
+ 传入的内存空间不足
+
+
+ 异常图像,可能是丢包导致图像不完整
+
+
+ 动态导入DLL失败
+
+
+ 没有可输出的缓存
+
+
+ 加密错误
+
+
+ 打开文件出现错误
+
+
+ 未知的错误
+
+
+ 通用错误
+
+
+ 参数非法
+
+
+ 值超出范围
+
+
+ 属性
+
+
+ 运行环境有问题
+
+
+ 逻辑错误
+
+
+ 节点访问条件有误
+
+
+ 超时
+
+
+ 转换异常
+
+
+ GenICam未知错误
+
+
+ 命令不被设备支持
+
+
+ 访问的目标地址不存在
+
+
+ 目标地址不可写
+
+
+ 设备无访问权限
+
+
+ 设备忙,或网络断开
+
+
+ 网络包数据错误
+
+
+ 网络相关错误
+
+
+ 设备IP冲突
+
+
+ 读usb出错
+
+
+ 写usb出错
+
+
+ 设备异常
+
+
+ GenICam相关错误
+
+
+ 带宽不足
+
+
+ 驱动不匹配或者未装驱动
+
+
+ USB未知的错误
+
+
+ 升级固件不匹配
+
+
+ 升级固件语言不匹配
+
+
+ 升级冲突(设备已经在升级了再次请求升级即返回此错误)
+
+
+ 升级时设备内部出现错误
+
+
+ 升级时未知错误
+
+
+ 处理正确
+
+
+ 不确定类型错误
+
+
+ 能力集中存在无效参数
+
+
+ 内存地址为空
+
+
+ 内存对齐不满足要求
+
+
+ 内存空间大小不够
+
+
+ 内存空间大小不满足对齐要求
+
+
+ 内存地址不满足对齐要求
+
+
+ 图像格式不正确或者不支持
+
+
+ 图像宽高不正确或者超出范围
+
+
+ 图像宽高与step参数不匹配
+
+
+ 图像数据存储地址为空
+
+
+ 设置或者获取参数类型不正确
+
+
+ 设置或者获取参数的输入、输出结构体大小不正确
+
+
+ 处理类型不正确
+
+
+ 处理时输入、输出参数大小不正确
+
+
+ 子处理类型不正确
+
+
+ 子处理时输入、输出参数大小不正确
+
+
+ index参数不正确
+
+
+ value参数不正确或者超出范围
+
+
+ param_num参数不正确
+
+
+ 函数参数指针为空
+
+
+ 超过限定的最大内存
+
+
+ 回调函数出错
+
+
+ 加密错误
+
+
+ 算法库使用期限错误
+
+
+ 参数范围不正确
+
+
+ 数据大小不正确
+
+
+ 数据step不正确
+
+
+ cpu不支持优化代码中的指令集
+
+
+ 警告
+
+
+ 算法库超时
+
+
+ 算法版本号出错
+
+
+ 模型版本号出错
+
+
+ GPU内存分配错误
+
+
+ 文件不存在
+
+
+ 字符串为空
+
+
+ 图像解码器错误
+
+
+ 打开文件错误
+
+
+ 文件读取错误
+
+
+ 文件写错误
+
+
+ 文件读取大小错误
+
+
+ 文件类型错误
+
+
+ 模型类型错误
+
+
+ 分配内存错误
+
+
+ 线程绑核失败
+
+
+ 噪声特性图像格式错误
+
+
+ 噪声特性类型错误
+
+
+ 噪声特性个数错误
+
+
+ 噪声特性增益个数错误
+
+
+ 噪声曲线增益值输入错误
+
+
+ 噪声曲线柱数错误
+
+
+ 噪声估计初始化增益设置错误
+
+
+ 噪声估计未初始化
+
+
+ 颜色空间模式错误
+
+
+ 图像ROI个数错误
+
+
+ 图像ROI原点错误
+
+
+ 图像ROI大小错误
+
+
+ 输入的相机增益不存在(增益个数已达上限)
+
+
+ 输入的相机增益不在范围内
+
+
+ 输入的噪声特性内存大小错误
+
+
+
+ Constructor
+
+
+
+
+ Destructor
+
+
+
+
+ 设备句柄
+
+
+
+
+ Initialize
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Finalize
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ 枚举采集卡设备信息
+
+ 采集卡类型
+ 设备信息
+ Success, return MV_OK. Failure, return error code
+
+
+
+ 创建采集卡设备句柄
+
+ 采集卡设备信息
+ Success, return MV_OK. Failure, return error code
+
+
+
+ 通过采集卡ID创建设备句柄
+
+ 采集卡ID
+ Success, return MV_OK. Failure, return error code
+
+
+
+ 打开采集卡设备
+
+ 采集卡信息配置文件(目前不支持传配置文件)
+
+
+
+
+ 关闭采集卡
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ 销毁采集卡句柄
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Camera Handle
+
+
+
+
+
+ Get SDK Version
+
+ Always return 4 Bytes of version number |Main |Sub |Rev |Test|
+ 8bits 8bits 8bits 8bits
+
+
+
+
+ Get supported Transport Layer
+
+ Supported Transport Layer number
+
+
+
+ Enumerate Device
+
+ Enumerate TLs
+ Device List
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Enumerate device according to manufacture name
+
+ Enumerate TLs
+ Device List
+ Manufacture Name
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Enumerate device according to the specified ordering
+
+ Transmission layer of enumeration(All layer protocol type can input)
+ Device list
+ Manufacture Name
+ Sorting Method
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Is the device accessible
+
+ Device Information
+ Access Right
+ Access, return true. Not access, return false
+
+
+
+ Set SDK log path (Interfaces not recommended)
+ If the logging service MvLogServer is enabled, the interface is invalid and The logging service is enabled by default
+
+
+
+
+
+
+ Create Device
+
+ Device Information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Create Device without log
+
+ Device Information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Destroy Device
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Open Device
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Open Device
+
+ Access Right
+ Switch key of access right
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Close Device
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Is the device connected
+
+ Connected, return true. Not Connected or DIsconnected, return false
+
+
+
+ Register the image callback function
+
+ Callback function pointer
+ User defined variable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Register the RGB image callback function
+
+ Callback function pointer
+ User defined variable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Register the BGR image callback function
+
+ Callback function pointer
+ User defined variable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Start Grabbing
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Stop Grabbing
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get one frame of RGB image, this function is using query to get data
+ query whether the internal cache has data, get data if there has, return error code if no data
+
+ Image data receiving buffer
+ Buffer size
+ Image information
+ Waiting timeout
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get one frame of BGR image, this function is using query to get data
+ query whether the internal cache has data, get data if there has, return error code if no data
+
+ Image data receiving buffer
+ Buffer size
+ Image information
+ Waiting timeout
+ Success, return MV_OK. Failure, return error cod
+
+
+
+ Get a frame of an image using an internal cache
+
+ Image data and image information
+ Waiting timeout
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Free image buffer(used with MV_CC_GetImageBuffer)
+
+ Image data and image information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get a frame of an image
+
+ Image data receiving buffer
+ Buffer size
+ Image information
+ Waiting timeout
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Clear image Buffers to clear old data
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get the number of valid images in the current image buffer
+
+ The number of valid images in the current image buffer
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Display one frame image
+
+ Image information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Display one frame image Ex
+
+ dispaly Handle
+ Image information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set the number of the internal image cache nodes in SDK(Greater than or equal to 1, to be called before the capture)
+
+ Number of cache nodes
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Grab Strategy
+
+ The value of grab strategy
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set The Size of Output Queue(Only work under the strategy of MV_GrabStrategy_LatestImages,rang:1-ImageNodeNum)
+
+ The Size of Output Queue
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get device information(Called before start grabbing)
+
+ device information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get various type of information
+
+ Various type of information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Integer value
+
+ Key value, for example, using "Width" to get width
+ Value of device features
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Integer value
+
+ Key value, for example, using "Width" to set width
+ Feature value to set
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Enum value
+
+ Key value, for example, using "PixelFormat" to get pixel format
+ Value of device features
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Enum value
+
+ Key value, for example, using "PixelFormat" to set pixel format
+ Feature value to set
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get the symbolic of the specified value of the Enum type node
+
+ Key value, for example, using "PixelFormat" to set pixel format
+ Symbolic to get
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Enum value
+
+ Key value, for example, using "PixelFormat" to set pixel format
+ Feature String to set
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Float value
+
+ Key value
+ Value of device features
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set float value
+
+ Key value
+ Feature value to set
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Boolean value
+
+ Key value
+ Value of device features
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Boolean value
+
+ Key value
+ Feature value to set
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get String value
+
+ Key value
+ Value of device features
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set String value
+
+ Key value
+ Feature value to set
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Send Command
+
+ Key value
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Read Memory
+
+ Used as a return value, save the read-in memory value(Memory value is stored in accordance with the big end model)
+ Memory address to be read, which can be obtained from the Camera.xml file of the device, the form xml node value of xxx_RegAddr
+ Length of the memory to be read
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Write Memory
+
+ Memory value to be written ( Note the memory value to be stored in accordance with the big end model)
+ Memory address to be written, which can be obtained from the Camera.xml file of the device, the form xml node value of xxx_RegAddr
+ Length of the memory to be written
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Invalidate GenICam Nodes
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get camera feature tree XML
+
+ XML data receiving buffer
+ Buffer size
+ Actual data length
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Access mode of cur node
+
+ Name of node
+ Access mode of the node
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Interface Type of cur node
+
+ Name of node
+ Interface Type of the node
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Save camera feature
+
+ File name
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Load camera feature
+
+ File name
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Read the file from the camera
+
+ File access structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Read the file from the camera
+
+ File access structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Write the file to camera
+
+ File access structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Write the file to camera
+
+ File access structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get File Access Progress
+
+ File access Progress
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Device Local Upgrade
+
+ File path and name
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Upgrade Progress
+
+ Value of Progress
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Register Exception Message CallBack, call after open device
+
+ Exception Message CallBack Function
+ User defined variable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Register event callback, which is called after the device is opened
+
+ Event CallBack Function
+ User defined variable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Register single event callback, which is called after the device is opened
+
+ Event name
+ Event CallBack Function
+ User defined variable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set enumerate device timeout
+
+ time out,default 100ms
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Force IP
+
+ IP to set
+ Subnet mask
+ Default gateway
+ Success, return MV_OK. Failure, return error code
+
+
+
+ IP configuration method
+
+ IP type, refer to MV_IP_CFG_x
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set to use only one mode,type: MV_NET_TRANS_x. When do not set, priority is to use driver by default
+
+ Net transmission mode, refer to MV_NET_TRANS_x
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get net transmission information
+
+ Transmission information
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Setting the ACK mode of devices Discovery
+
+ ACK mode(Default-Broadcast),0-Unicast,1-Broadcast
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set GVSP streaming timeout
+
+ Timeout, default 300ms, range: >10ms
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get GVSP streaming timeout
+
+ Timeout, ms as unit
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set GVCP cammand timeout
+
+ Timeout, ms as unit, range: 0-10000
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get GVCP cammand timeout
+
+ Timeout, ms as unit
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set the number of retry GVCP cammand
+
+ The number of retries,rang:0-100
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get the number of retry GVCP cammand
+
+ The number of retries
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get the optimal Packet Size, Only support GigE Camera
+
+ Optimal packet size
+
+
+
+ Set whethe to enable resend, and set resend
+
+ Enable resend
+ Max resend persent
+ Resend timeout
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set the max resend retry times
+
+ The max times to retry resending lost packets,default 20
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get the max resend retry times
+
+ the max times to retry resending lost packets
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set time interval between same resend requests
+
+ The time interval between same resend requests,default 10ms
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get time interval between same resend requests
+
+ The time interval between same resend requests
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set transmission type,Unicast or Multicast
+
+ Struct of transmission type
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Issue Action Command
+
+ Action Command info
+ Action Command Result List
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get Multicast Status
+
+ Device Information
+ Status of Multicast
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set device baudrate using one of the CL_BAUDRATE_XXXX value
+
+ Baudrate to set. Refer to the 'CameraParams.h' for parameter definitions, for example, #define MV_CAML_BAUDRATE_9600 0x00000001
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get device baudrate, using one of the CL_BAUDRATE_XXXX value
+
+ Return pointer of baud rate to user.
+ Refer to the 'CameraParams.h' for parameter definitions, for example, #define MV_CAML_BAUDRATE_9600 0x00000001
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get supported baudrates of the combined device and host interface
+
+ Return pointer of the supported baudrates to user. 'OR' operation results of the supported baudrates.
+ Refer to the 'CameraParams.h' for single value definitions, for example, #define MV_CAML_BAUDRATE_9600 0x00000001
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Sets the timeout for operations on the serial port
+
+ Timeout in [ms] for operations on the serial port.
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set transfer size of U3V device
+
+ Transfer size,Byte,default:1M,rang:>=0x10000
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get transfer size of U3V device
+
+ Transfer size,Byte
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set transfer ways of U3V device
+
+ Transfer ways,rang:1-10
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get transfer ways of U3V device
+
+ Transfer ways
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Register Stream Exception Message CallBack
+
+ Stream Exception Message CallBack Function
+ User defined variable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set the number of U3V device event cache nodes
+
+ Event Node Number
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set U3V Camera Synchronisation timeout
+
+ Synchronisation time(ms), default 1000ms
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get U3V Camera Synchronisation timeout
+
+ Synchronisation time(ms), default 1000ms
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Enumerate interfaces by GenTL
+
+ Interface information list
+ Path of GenTL's cti file
+
+
+
+
+ Unload cti library
+
+ GenTL cti file path
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Enumerate Device Based On GenTL
+
+ Interface information
+ Device List
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Create Device Handle Based On GenTL Device Info
+
+ Device Information Structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Save image, support Bmp and Jpeg.
+
+ Save image parameters structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Save the image file, support Bmp、 Jpeg、Png and Tiff. Encoding quality(50-99]
+
+ Save the image file parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Save 3D point data, support PLY、CSV and OBJ
+
+ Save 3D point data parameters structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Rotate Image
+
+ Rotate image parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Flip Image
+
+ Flip image parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Pixel format conversion
+
+ Convert Pixel Type parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Interpolation algorithm type setting
+
+ Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Filter type of the bell interpolation quality algorithm setting
+
+ Filter type enable
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Bayer Gamma value
+
+ Gamma value[0.1,4.0]
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Mono8/Bayer Gamma value
+
+ PixelType
+ Gamma value[0.1,4.0]
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set Gamma param
+
+ Gamma parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set CCM param
+
+ CCM parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Set CCM param
+
+ CCM parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Adjust image contrast
+
+ Contrast parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ High Bandwidth Decode
+
+ High Bandwidth Decode parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Draw Rect Auxiliary Line
+
+ Rect Auxiliary Line Info
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Draw Circle Auxiliary Line
+
+ Circle Auxiliary Line Info
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Draw Line Auxiliary Line
+
+ Linear Auxiliary Line Info
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Start Record
+
+ Record param structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Input RAW data to Record
+
+ Record data structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Stop Record
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Open the GUI interface for getting or setting camera parameters
+
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Reconstruct Image(For time-division exposure function)
+
+ Reconstruct image parameters
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Byte array to struct
+
+ Byte array
+ Struct type
+ Struct object
+
+
+
+ 判断字符数组是否为utf-8
+
+ 字符数组
+
+
+
+
+ Write Error Message
+
+ Message
+ ErrorNum
+
+
+
+ Save image, support Bmp and Jpeg.
+
+ Save image parameters structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Save the image file, support Bmp、 Jpeg、Png and Tiff. Encoding quality(50-99]
+
+ Save the image file parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Pixel format conversion
+
+ Convert Pixel Type parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Get basic information of image (Interfaces not recommended)
+
+
+
+
+
+
+ Get GenICam proxy (Interfaces not recommended)
+
+
+
+
+
+ Get root node (Interfaces not recommended)
+
+
+
+
+
+
+ Get all children node of specific node from xml, root node is Root (Interfaces not recommended)
+
+
+
+
+
+
+
+ Get all children node of specific node from xml, root node is Root (Interfaces not recommended)
+
+
+
+
+
+
+
+ Get current node feature (Interfaces not recommended)
+
+
+
+
+
+
+
+ Update node (Interfaces not recommended)
+
+
+
+
+
+
+
+ Register update callback (Interfaces not recommended)
+
+
+
+
+
+
+
+ Noise estimate of Bayer format
+
+ Noise estimate parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Spatial Denoise of Bayer format
+
+ Spatial Denoise parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_DisplayOneFrame
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_GetOneFrameTimeOut
+
+
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_GetOneFrameTimeOut
+
+
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_SaveImageEx
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_GIGE_ForceIpEx
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_RegisterEventCallBackEx
+
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_GetIntValueEx
+
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_SetIntValueEx
+
+
+
+
+
+
+
+ Set CLUT param
+
+ CLUT parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Image sharpen
+
+ Sharpen parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Color Correct(include CCM and CLUT)
+
+ Color Correct parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Noise Estimate
+
+ Noise Estimate parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ Spatial Denoise
+
+ Spatial Denoise parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ LSC Calib
+
+ LSC Calib parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ LSC Correct
+
+ LSC Correct parameter structure
+ Success, return MV_OK. Failure, return error code
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ Set PixelFormat
+
+ PixelFormat
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ Get Trigger Source
+
+ Trigger Source
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is replaced by general interface
+
+
+
+
+
+
+ This interface is abandoned, it is recommended to use the MV_CC_RegisterImageCallBackEx
+
+
+
+
+
+
+
+ Grab callback
+
+ Image data
+ Frame info
+ User defined variable
+
+
+
+ Grab callback
+
+ Image data
+ Frame info
+ User defined variable
+
+
+
+ Xml Update callback(Interfaces not recommended)
+
+ Node type
+ Current node feature structure
+ Nodes list
+ User defined variable
+
+
+
+ Exception callback
+
+ Msg type
+ User defined variable
+
+
+
+ Event callback (Interfaces not recommended)
+
+ User defined ID
+ User defined variable
+
+
+
+ Event callback
+
+ Event Info
+ User defined variable
+
+
+
+ Stream Exception callback
+
+ Msg type
+ User defined variable
+
+
+
+ ch:采集卡信息列表 | en: Interface Information List
+
+
+
+
+ ch:在线设备数量 | en:Online Interface Number
+
+
+
+
+ ch:支持最多64个设备 | en:Support up to 64 Interfaces
+
+
+
+
+ ch:采集卡信息 | en: Interface information
+
+
+
+
+ ch: 采集卡类型; 低16位有效: bits(0~2)代表功能, bits(3~7)代表相机, bits(8-15)代表总线| en: Interface type
+
+
+
+
+ ch: 采集卡的PCIE插槽信息 | en: PCIe slot information of interface
+
+
+
+
+ ch: 采集卡ID | en: Interface ID
+
+
+
+
+ ch 显示名称 | en: Display name
+
+
+
+
+ ch 序列号 |en: Serial number
+
+
+
+
+ ch 型号 | en: model name
+
+
+
+
+ ch: 厂商 |en: manufacturer name
+
+
+
+
+ ch: 版本号| en: device version
+
+
+
+
+ ch: 自定义名称 |en: user defined name
+
+
+
+
+ ch 保留字段 | en Reserved
+
+
+
+
+ 排序方式
+
+
+
+
+ 按序列号排序
+
+
+
+
+ 按用户自定义名字排序
+
+
+
+
+ 按当前IP地址排序(升序)
+
+
+
+
+ 按当前IP地址排序(降序)
+
+
+
+
+ ch: GigE设备信息 | en: GigE device information
+
+
+
+
+ IP 配置选项
+
+
+
+
+ IP configuration:bit31-static bit30-dhcp bit29-lla
+
+
+
+
+ curtent ip
+
+
+
+
+ curtent subnet mask
+
+
+
+
+ current gateway
+
+
+
+
+ 制造商名
+
+
+
+
+ 型号名
+
+
+
+
+ 设备版本信息
+
+
+
+
+ 制造商特殊信息
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 网口IP地址
+
+
+
+
+ 预留
+
+
+
+
+ ch: GigE设备信息 | en: GigE device information
+
+
+
+
+ IP 配置选项
+
+
+
+
+ IP configuration:bit31-static bit30-dhcp bit29-lla
+
+
+
+
+ curtent ip
+
+
+
+
+ curtent subnet mask
+
+
+
+
+ current gateway
+
+
+
+
+ 制造商名
+
+
+
+
+ 型号名
+
+
+
+
+ 设备版本信息
+
+
+
+
+ 制造商特殊信息
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 网口IP地址
+
+
+
+
+ 预留
+
+
+
+
+ ch:USB3 设备信息 | en:USB3 device information
+
+
+
+
+ 控制输入端点
+
+
+
+
+ 控制输出端点
+
+
+
+
+ 流端点
+
+
+
+
+ 事件端点
+
+
+
+
+ 供应商ID号
+
+
+
+
+ 产品ID号
+
+
+
+
+ 设备索引号
+
+
+
+
+ 设备GUID号
+
+
+
+
+ 供应商名字
+
+
+
+
+ 型号名字
+
+
+
+
+ 家族名字
+
+
+
+
+ 设备版本号
+
+
+
+
+ 制造商名字
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名字
+
+
+
+
+ 支持的USB协议
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:USB3 设备信息 | en:USB3 device information
+
+
+
+
+ 控制输入端点
+
+
+
+
+ 控制输出端点
+
+
+
+
+ 流端点
+
+
+
+
+ 事件端点
+
+
+
+
+ 供应商ID号
+
+
+
+
+ 产品ID号
+
+
+
+
+ 设备索引号
+
+
+
+
+ 设备GUID号
+
+
+
+
+ 供应商名字
+
+
+
+
+ 型号名字
+
+
+
+
+ 家族名字
+
+
+
+
+ 设备版本号
+
+
+
+
+ 制造商名字
+
+
+
+
+ 序列号
+
+
+
+
+ 用户自定义名字
+
+
+
+
+ 支持的USB协议
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:CamLink设备信息 | en:CamLink device information
+
+
+
+
+ 端口号ID
+
+
+
+
+ 模型名
+
+
+
+
+ 家族名
+
+
+
+
+ 设备版本信息
+
+
+
+
+ 制造商名字
+
+
+
+
+ 序列号
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:采集卡Camera Link相机信息 | en:Camera Link device information on frame grabber
+
+
+
+
+ ch 采集卡ID |en Interface ID of Frame Grabber
+
+
+
+
+ ch 供应商名字 |en Vendor name
+
+
+
+
+ ch 型号名字 |en Model name
+
+
+
+
+ ch 厂商信息 |en Manufacturer information
+
+
+
+
+ ch 相机版本 |en Device version
+
+
+
+
+ ch 序列号 |en Serial number
+
+
+
+
+ ch 用户自定义名字 |en User defined name
+
+
+
+
+ ch 相机ID |en Device ID
+
+
+
+
+ ch 保留字段 |en Reserved
+
+
+
+
+ ch:CoaXPress相机信息 | en:CoaXPress device information
+
+
+
+
+ ch 采集卡ID |en Interface ID of Frame Grabber
+
+
+
+
+ ch 供应商名字 |en Vendor name
+
+
+
+
+ ch 型号名字 |en Model name
+
+
+
+
+ ch 厂商信息 |en Manufacturer information
+
+
+
+
+ ch 相机版本 |en Device version
+
+
+
+
+ ch 序列号 |en Serial number
+
+
+
+
+ ch 用户自定义名字 |en User defined name
+
+
+
+
+ ch 相机ID |en Device ID
+
+
+
+
+ ch 保留字段 |en Reserved
+
+
+
+
+ ch:XoFLink相机信息 | en:XoFLink device information
+
+
+
+
+ ch 采集卡ID |en Interface ID of Frame Grabber
+
+
+
+
+ ch 供应商名字 |en Vendor name
+
+
+
+
+ ch 型号名字 |en Model name
+
+
+
+
+ ch 厂商信息 |en Manufacturer information
+
+
+
+
+ ch 相机版本 |en Device version
+
+
+
+
+ ch 序列号 |en Serial number
+
+
+
+
+ ch 用户自定义名字 |en User defined name
+
+
+
+
+ ch 相机ID |en Device ID
+
+
+
+
+ ch 保留字段 |en Reserved
+
+
+
+
+ ch:设备信息 | en:Device information
+
+
+
+
+ 主版本号
+
+
+
+
+ 次版本号
+
+
+
+
+ MAC高地址
+
+
+
+
+ MAC低地址
+
+
+
+
+ 设备传输层协议类型,e.g. MV_GIGE_DEVICE
+
+
+
+
+ ch 设备类型信息 | en Device Type Info
+
+
+
+
+ 保留字节
+
+
+
+
+ 设备类型
+
+
+
+
+ 构造函数
+
+ 输入任意数,因为不接受无参构造函数
+
+
+
+ ch:特定类型的设备信息 | en:Special devcie information
+
+
+
+
+ GigE
+
+
+
+
+ Camera Link
+
+
+
+
+ Usb
+
+
+
+
+ CML
+
+
+
+
+ CXP
+
+
+
+
+ XOF
+
+
+
+
+ 相机列表
+
+
+
+
+ 在线设备数量
+
+
+
+
+ 支持最多256个设备
+
+
+
+
+ ch:通过GenTL枚举到的Interface信息 | en:Interface Information with GenTL
+
+
+
+
+ GenTL接口ID
+
+
+
+
+ 传输层类型
+
+
+
+
+ 设备显示名称
+
+
+
+
+ GenTL的cti文件索引
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:通过GenTL枚举到的设备信息列表 | en:Interface Information List with GenTL
+
+
+
+
+ ch:在线设备数量 | en:Online Interface Number
+
+
+
+
+ ch:支持最多256个设备 | en:Support up to 256 Interfaces
+
+
+
+
+ ch:通过GenTL枚举到的设备信息 | en:Device Information discovered by with GenTL
+
+
+
+
+ 采集卡ID
+
+
+
+
+ 设备ID
+
+
+
+
+ 供应商名字
+
+
+
+
+ 模型名
+
+
+
+
+ 传输类型
+
+
+
+
+ 显示名
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 序列号
+
+
+
+
+ 设备版本信息
+
+
+
+
+ cti文件序号
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:通过GenTL枚举到的设备信息 | en:Device Information discovered by with GenTL
+
+
+
+
+ 采集卡ID
+
+
+
+
+ 设备ID
+
+
+
+
+ 供应商名字
+
+
+
+
+ 模型名
+
+
+
+
+ 传输类型
+
+
+
+
+ 显示名
+
+
+
+
+ 用户自定义名
+
+
+
+
+ 序列号
+
+
+
+
+ 设备版本信息
+
+
+
+
+ cti文件序号
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:GenTL设备列表 | en:GenTL devices list
+
+
+
+
+ 在线设备数量
+
+
+
+
+ 支持最多256个设备
+
+
+
+
+ Net Trans Info
+
+
+
+
+ 已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量]
+
+
+
+
+ 丢帧数量
+
+
+
+
+ 接收帧数
+
+
+
+
+ 请求重发包数
+
+
+
+
+ 重发包数
+
+
+
+
+ Frame Out Info
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 帧号
+
+
+
+
+ 时间戳高32位
+
+
+
+
+ 时间戳低32位
+
+
+
+
+ 保留,8字节对齐
+
+
+
+
+ 主机生成的时间戳
+
+
+
+
+ 帧数据大小
+
+
+
+
+ 丢包数量
+
+
+
+
+ 保留字节
+
+
+
+
+ Chunk数据信息
+
+
+
+
+ Chunk数据
+
+
+
+
+ ChunkID
+
+
+
+
+ Chunk大小
+
+
+
+
+ 保留字节
+
+
+
+
+ Frame Out Info Ex
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 帧号
+
+
+
+
+ 时间戳高32位
+
+
+
+
+ 时间戳低32位
+
+
+
+
+ 保留,8字节对齐
+
+
+
+
+ 主机生成的时间戳
+
+
+
+
+ Frame大小
+
+
+
+
+ 秒数
+
+
+
+
+ 周期数
+
+
+
+
+ 周期偏移量
+
+
+
+
+ 增益
+
+
+
+
+ 曝光时间
+
+
+
+
+ 平均亮度
+
+
+
+
+ Red
+
+
+
+
+ Green
+
+
+
+
+ Blue
+
+
+
+
+ 帧计数器
+
+
+
+
+ 触发计数
+
+
+
+
+ 输入
+
+
+
+
+ 输出
+
+
+
+
+ 水平偏移量
+
+
+
+
+ 垂直偏移量
+
+
+
+
+ Chunk宽度
+
+
+
+
+ Chunk高度
+
+
+
+
+ 丢包数
+
+
+
+
+ 为解析的Chunk数量
+
+
+
+
+ 为解析的Chunk列表
+
+
+
+
+ 图像宽扩展
+
+
+
+
+ 图像高扩展
+
+
+
+
+ 保留字节
+
+
+
+
+ 为解析的Chunk列表
+
+
+
+
+ 为解析的Chunk内容
+
+
+
+
+ 对齐结构体,无实际用途
+
+
+
+
+ 输出帧信息
+
+
+
+
+ 帧数据地址
+
+
+
+
+ 帧信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 取流策略
+
+
+
+
+ 从旧到新一帧一帧的获取图像(默认为该策略)
+
+
+
+
+ 获取列表中最新的一帧图像(同时清除列表中的其余图像)
+
+
+
+
+ 获取列表中最新的图像,个数由OutputQueueSize决定,范围为1-ImageNodeNum,设置成1等同于LatestImagesOnly,设置成ImageNodeNum等同于OneByOne
+
+
+
+
+ 等待下一帧图像
+
+
+
+
+ 显示帧信息
+
+
+
+
+ 显示窗口的句柄
+
+
+
+
+ 显示的帧数据
+
+
+
+
+ 显示的帧数据大小
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 保留字节
+
+
+
+
+ 显示帧信息
+
+
+
+
+ 图像宽
+
+
+
+
+ 图像高
+
+
+
+
+ 像素格式
+
+
+
+
+ 显示的帧数据
+
+
+
+
+ 显示的帧数据大小
+
+
+
+
+ 保留字节
+
+
+
+
+ ch:保存3D数据格式 | en:Save 3D file
+
+
+
+
+ 未定义数据格式
+
+
+
+
+ PLY数据格式
+
+
+
+
+ CSV数据格式
+
+
+
+
+ OBJ数据格式
+
+
+
+
+ 保存的点阵参数
+
+
+
+
+ [IN] 每一行点的数量
+
+
+
+
+ [IN] 行数
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小(nLinePntNum * nLineNum * (16*3 + 4) + 2048)
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ 保存的点阵文件类型
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存的图像格式
+
+
+
+
+ 未定义类型
+
+
+
+
+ Bmp图像格式
+
+
+
+
+ Jpeg图像格式
+
+
+
+
+ Png图像格式
+
+
+
+
+ Tif图像格式
+
+
+
+
+ 保存的图像参数
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 输出图片格式
+
+
+
+
+ 保存的图像参数
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 输出图片格式
+
+
+
+
+ [IN] 编码质量, (50-99]
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存的图像信息扩展
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 输出图片格式
+
+
+
+
+ [IN] 编码质量, (50-99]
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存图像到文件的参数
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 输入图片格式
+
+
+
+
+ [IN] 编码质量, (0-100]
+
+
+
+
+ [IN] 输入文件路径
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 保存图像到文件信息扩展
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 输入图片格式
+
+
+
+
+ [IN] 输入文件路径
+
+
+
+
+ [IN] 编码质量, (0-100]
+
+
+
+
+ [IN] Bayer的插值方法 0-快速 1-均衡 2-最优(如果传入其它值则默认为最优)
+
+
+
+
+ 保留字节
+
+
+
+
+ 旋转角度
+
+
+
+
+ 旋转90度
+
+
+
+
+ 旋转180度
+
+
+
+
+ 旋转270度
+
+
+
+
+ 旋转图像参数
+
+
+
+
+ [IN] 像素格式(仅支持Mono8/RGB24/BGR24)
+
+
+
+
+ [IN][OUT] 图像宽
+
+
+
+
+ [IN][OUT] 图像高
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 旋转角度
+
+
+
+
+ 保留字节
+
+
+
+
+ 图像翻转类型
+
+
+
+
+ 垂直方向翻转
+
+
+
+
+ 水平方向翻转
+
+
+
+
+ 翻转图像参数
+
+
+
+
+ [IN] 像素格式(仅支持Mono8/RGB24/BGR24)
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出图片缓存
+
+
+
+
+ [OUT] 输出图片大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [IN] 翻转类型
+
+
+
+
+ 保留字节
+
+
+
+
+ 像素转换参数
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 源像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 目标像素格式
+
+
+
+
+ [OUT] 输出数据缓存
+
+
+
+
+ [OUT] 输出数据大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ 保留字节
+
+
+
+
+ 图像像素转换信息扩展
+
+
+
+
+ [IN] 图像宽
+
+
+
+
+ [IN] 图像高
+
+
+
+
+ [IN] 源像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 目标像素格式
+
+
+
+
+ [OUT] 输出数据缓存
+
+
+
+
+ [OUT] 输出数据大小
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ 保留字节
+
+
+
+
+ Gamma类型
+
+
+
+
+ 不启用
+
+
+
+
+ GAMMA值
+
+
+
+
+ GAMMA曲线,8位需要的长度:256*sizeof(unsigned char)
+ 10位需要的长度:1024*sizeof(unsigned short)
+ 12位需要的长度:4096*sizeof(unsigned short)
+ 16位需要的长度:65536*sizeof(unsigned short)
+
+
+
+
+ 线性RGB转非线性RGB
+
+
+
+
+ 非线性RGB转线性RGB
+
+
+
+
+ Gamma参数
+
+
+
+
+ [IN] Gamma类型
+
+
+
+
+ [IN] Gamma值
+
+
+
+
+ [IN] Gamma曲线缓存
+
+
+
+
+ [IN] Gamma曲线长度
+
+
+
+
+ 保留字节
+
+
+
+
+ CCM参数
+
+
+
+
+ [IN] 是否启用CCM
+
+
+
+
+ [IN] CCM矩阵(-8192~8192)
+
+
+
+
+ 保留字节
+
+
+
+
+ CCM参数
+
+
+
+
+ [IN] 是否启用CCM
+
+
+
+
+ [IN] 量化3x3矩阵
+
+
+
+
+ [IN] 量化系数(2的整数幂)
+
+
+
+
+ 保留字节
+
+
+
+
+ CLUT参数
+
+
+
+
+ [IN] 是否启用CLUT
+
+
+
+
+ [IN] 量化系数(2的整数幂)
+
+
+
+
+ [IN] CLUT大小,建议值17
+
+
+
+
+ [OUT] 量化CLUT
+
+
+
+
+ [IN] 量化CLUT缓存大小(nCLUTSize*nCLUTSize*nCLUTSize*sizeof(int)*3)
+
+
+
+
+ 保留字节
+
+
+
+
+ 对比度调节参数
+
+
+
+
+ [IN] 图像宽度(最小8)
+
+
+
+
+ [IN] 图像高度(最小8)
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 对比度值,范围:[1, 10000]
+
+
+
+
+ 保留字节
+
+
+
+
+ 锐化参数
+
+
+
+
+ [IN] 图像宽度(最小8)
+
+
+
+
+ [IN] 图像高度(最小8)
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 锐度调节强度,范围:[0, 500]
+
+
+
+
+ [IN] 锐度调节半径(半径越大,耗时越长),范围:[1, 21]
+
+
+
+
+ [IN] 锐度调节阈值,范围:[0, 255]
+
+
+
+
+ 保留字节
+
+
+
+
+ 色彩校正参数(包括CCM和CLUT)
+
+
+
+
+ [IN] 图像宽度
+
+
+
+
+ [IN] 图像高度
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 输入有效图像位数,8 or 10 or 12 or 16
+
+
+
+
+ [IN] 输入Gamma信息
+
+
+
+
+ [IN] 输入CCM信息
+
+
+
+
+ [IN] 输入CLUT信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 矩形ROI参数
+
+
+
+
+ [IN] 矩形左上角X轴坐标
+
+
+
+
+ [IN] 矩形左上角Y轴坐标
+
+
+
+
+ [IN] 矩形宽度
+
+
+
+
+ [IN] 矩形高度
+
+
+
+
+ 噪声估计参数
+
+
+
+
+ [IN] 图像宽度
+
+
+
+
+ [IN] 图像高度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [IN] 图像ROI
+
+
+
+
+ [IN] ROI个数
+
+
+
+
+ [IN] 噪声阈值[0-4095]
+
+
+
+
+ [OUT] 输出噪声特性
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出噪声特性长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 空域降噪参数
+
+
+
+
+ [IN] 图像宽度
+
+
+
+
+ [IN] 图像高度
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [OUT] 输出降噪后的数据
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出降噪后的数据长度
+
+
+
+
+ [IN] 输入噪声特性
+
+
+
+
+ [IN] 输入噪声特性长度
+
+
+
+
+ [IN] 降噪强度(0-100)
+
+
+
+
+ [IN] 锐化强度(0-32)
+
+
+
+
+ [IN] 噪声校正系数(0-1280)
+
+
+
+
+ [IN] 亮度校正系数(1-2000)
+
+
+
+
+ [IN] 色调校正系数(1-2000)
+
+
+
+
+ [IN] 亮度降噪强度(0-100)
+
+
+
+
+ [IN] 色调降噪强度(0-100)
+
+
+
+
+ [IN] 锐化强度(1-1000)
+
+
+
+
+ 保留字节
+
+
+
+
+ LSC标定参数
+
+
+
+
+ [IN] 图像宽度(16~65536)
+
+
+
+
+ [IN] 图像高度(16~65536)
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [OUT] 输出标定表缓存
+
+
+
+
+ [IN] 提供的标定表缓冲大小(nWidth*nHeight*sizeof(unsigned short))
+
+
+
+
+ [OUT] 输出标定表缓存长度
+
+
+
+
+ [IN] 宽度分块数
+
+
+
+
+ [IN] 高度分块数
+
+
+
+
+ [IN] 边缘填充系数,范围1~5
+
+
+
+
+ [IN] 标定方式,0-中心为基准
+ 1-最亮区域为基准
+ 2-目标亮度
+
+
+
+
+ [IN] 目标亮度(8bits,[0,255])
+ (10bits,[0,1023])
+ (12bits,[0,4095])
+ (16bits,[0,65535])
+
+
+
+
+ 保留字节
+
+
+
+
+ LSC校正参数
+
+
+
+
+ [IN] 图像宽度(16~65536)
+
+
+
+
+ [IN] 图像高度(16~65536)
+
+
+
+
+ [IN] 输入的像素格式
+
+
+
+
+ [IN] 输入图像缓存
+
+
+
+
+ [IN] 输入图像缓存长度
+
+
+
+
+ [OUT] 输出像素数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出像素数据缓存长度
+
+
+
+
+ [IN] 输入校正表缓存
+
+
+
+
+ [IN] 输入校正表缓存长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 噪声特性类型
+
+
+
+
+ 无效
+
+
+
+
+ 噪声曲线
+
+
+
+
+ 噪声水平
+
+
+
+
+ 默认值
+
+
+
+
+ 噪声基本信息
+
+
+
+
+ 版本
+
+
+
+
+ 噪声特性类型
+
+
+
+
+ 图像格式
+
+
+
+
+ 平均噪声水平
+
+
+
+
+ 曲线点数
+
+
+
+
+ 噪声曲线
+
+
+
+
+ 亮度曲线
+
+
+
+
+ 保留字节
+
+
+
+
+ 噪声估计参数
+
+
+
+
+ [IN] 图像宽(大于等于8)
+
+
+
+
+ [IN] 图像高(大于等于8)
+
+
+
+
+ [IN] 像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [IN] 噪声阈值(0-4095)
+
+
+
+
+ [IN] 用于存储噪声曲线和亮度曲线(需要外部分配,缓存大小:4096 * sizeof(int) * 2)
+
+
+
+
+ [OUT] 降噪特性信息
+
+
+
+
+ [IN] 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目
+
+
+
+
+ 保留字节
+
+
+
+
+ 降噪参数
+
+
+
+
+ [IN] 图像宽(大于等于8)
+
+
+
+
+ [IN] 图像高(大于等于8)
+
+
+
+
+ [IN] 像素格式
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 输出降噪后的数据
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出降噪后的数据长度
+
+
+
+
+ [IN] 降噪特性信息(来源于噪声估计)
+
+
+
+
+ [IN] 降噪强度(0-100)
+
+
+
+
+ [IN] 锐化强度(0-32)
+
+
+
+
+ [IN] 噪声校正系数(0-1280)
+
+
+
+
+ [IN] 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目
+
+
+
+
+ 保留字节
+
+
+
+
+ 帧特殊信息
+
+
+
+
+ [OUT] 秒数
+
+
+
+
+ [OUT] 周期数
+
+
+
+
+ [OUT] 周期偏移量
+
+
+
+
+ [OUT] 增益
+
+
+
+
+ [OUT] 曝光时间
+
+
+
+
+ [OUT] 平均亮度
+
+
+
+
+ [OUT] 红色
+
+
+
+
+ [OUT] 绿色
+
+
+
+
+ [OUT] 蓝色
+
+
+
+
+ [OUT] 总帧数
+
+
+
+
+ [OUT] 触发计数
+
+
+
+
+ [OUT] 输入
+
+
+
+
+ [OUT] 输出
+
+
+
+
+ [OUT] 水平偏移量
+
+
+
+
+ [OUT] 垂直偏移量
+
+
+
+
+ [OUT] 水印宽
+
+
+
+
+ [OUT] 水印高
+
+
+
+
+ 保留字节
+
+
+
+
+ HB解码参数
+
+
+
+
+ [IN] 输入数据缓存
+
+
+
+
+ [IN] 输入数据大小
+
+
+
+
+ [OUT] 图像宽
+
+
+
+
+ [OUT] 图像高
+
+
+
+
+ [OUT] 输出数据缓存
+
+
+
+
+ [IN] 提供的输出缓冲区大小
+
+
+
+
+ [OUT] 输出数据大小
+
+
+
+
+ [OUT] 输出的像素格式
+
+
+
+
+ [OUT] 水印信息
+
+
+
+
+ 保留字节
+
+
+
+
+ 录像格式定义
+
+
+
+
+ 未定义格式
+
+
+
+
+ AVI格式
+
+
+
+
+ 录像参数
+
+
+
+
+ [IN] 输入数据的像素格式
+
+
+
+
+ [IN] 图像宽(指定目标参数时需为8的倍数)
+
+
+
+
+ [IN] 图像高(指定目标参数时需为8的倍数)
+
+
+
+
+ [IN] 帧率fps(大于1/16)
+
+
+
+
+ [IN] 码率kbps(128kbps-16Mbps)
+
+
+
+
+ [IN] 录像格式
+
+
+
+
+ [IN] 录像文件存放路径
+
+
+
+
+ 保留字节
+
+
+
+
+ 输入帧信息
+
+
+
+
+ [IN] 图像数据指针
+
+
+
+
+ [IN] 图像大小
+
+
+
+
+ 保留字节
+
+
+
+
+ 采集模式
+
+
+
+
+ 单帧模式
+
+
+
+
+ 多帧模式
+
+
+
+
+ 持续采集模式
+
+
+
+
+ 增益模式
+
+
+
+
+ 关闭
+
+
+
+
+ 一次
+
+
+
+
+ 连续
+
+
+
+
+ 曝光模式
+
+
+
+
+ Timed
+
+
+
+
+ TriggerWidth
+
+
+
+
+ 自动曝光模式
+
+
+
+
+ 关闭
+
+
+
+
+ 一次
+
+
+
+
+ 连续
+
+
+
+
+ 相机触发模式
+
+
+
+
+ 关闭
+
+
+
+
+ 打开
+
+
+
+
+ Gamma选择器
+
+
+
+
+ USER
+
+
+
+
+ SRGB
+
+
+
+
+ 自动白平衡
+
+
+
+
+ 关闭自动白平衡
+
+
+
+
+ 一次自动白平衡
+
+
+
+
+ 连续自动白平衡
+
+
+
+
+ 触发源
+
+
+
+
+ LINE0
+
+
+
+
+ LINE1
+
+
+
+
+ LINE2
+
+
+
+
+ LINE3
+
+
+
+
+ COUNTER0
+
+
+
+
+ SOFTWARE
+
+
+
+
+ FrequencyConverter
+
+
+
+
+ ALL MATHCH INFO
+
+
+
+
+ 需要输出的信息类型,e.g. MV_MATCH_TYPE_NET_DETECT
+
+
+
+
+ 输出的信息缓存,由调用者分配
+
+
+
+
+ 信息缓存的大小
+
+
+
+
+
+
+
+
+
+ 已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量]
+
+
+
+
+ 丢失的包数量
+
+
+
+
+ 丢帧数量
+
+
+
+
+ 帧数
+
+
+
+
+ 请求重发包数
+
+
+
+
+ 重发包数
+
+
+
+
+ USB
+
+
+
+
+ 已接收数据大小 [统计OpenDevicce和CloseDevice之间的数据量]
+
+
+
+
+ 已收到的帧数
+
+
+
+
+ 错误帧数
+
+
+
+
+ 保留字节
+
+
+
+
+ 图像的基本信息
+
+
+
+
+ 宽度值
+
+
+
+
+ 宽度最小值
+
+
+
+
+ 宽度最大值
+
+
+
+
+ Width Inc
+
+
+
+
+ 高度值
+
+
+
+
+ 高度最小值
+
+
+
+
+ 高度最大值
+
+
+
+
+ Height Inc
+
+
+
+
+ 帧率
+
+
+
+
+ 最小帧率
+
+
+
+
+ 最大帧率
+
+
+
+
+ 当前的像素格式
+
+
+
+
+ 支持的像素格式种类
+
+
+
+
+ 像素列表
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点是否可见的权限等级
+
+
+
+
+ Always visible
+
+
+
+
+ Visible for experts or Gurus
+
+
+
+
+ Visible for Gurus
+
+
+
+
+ Not Visible
+
+
+
+
+ Object is not yet initialized
+
+
+
+
+ 事件信息
+
+
+
+
+ 事件名
+
+
+
+
+ Event号
+
+
+
+
+ 流通到序号
+
+
+
+
+ 帧号高位
+
+
+
+
+ 帧号低位
+
+
+
+
+ 时间戳高位
+
+
+
+
+ 时间戳低位
+
+
+
+
+ Event数据
+
+
+
+
+ Event数据长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 文件存取
+
+
+
+
+ 用户文件名
+
+
+
+
+ 设备文件名
+
+
+
+
+ 保留字节
+
+
+
+
+ 文件存取
+
+
+
+
+ 用户文件数据缓存空间
+
+
+
+
+ 用户数据缓存大小
+
+
+
+
+ 文件实际缓存大小
+
+
+
+
+ 设备文件名
+
+
+
+
+ 保留字节
+
+
+
+
+ 文件存取进度
+
+
+
+
+ 已完成的长度
+
+
+
+
+ 总长度
+
+
+
+
+ 保留字节
+
+
+
+
+ GigE传输类型
+
+
+
+
+ 表示单播(默认)
+
+
+
+
+ 表示组播
+
+
+
+
+ 表示局域网内广播,暂不支持
+
+
+
+
+ 表示子网内广播,暂不支持
+
+
+
+
+ 表示从相机获取,暂不支持
+
+
+
+
+ 表示用户自定义应用端接收图像数据Port号
+
+
+
+
+ 表示设置了单播,但本实例不接收图像数据
+
+
+
+
+ 表示组播模式,但本实例不接收图像数据
+
+
+
+
+ 传输模式,可以为单播模式、组播模式等
+
+
+
+
+ 传输模式
+
+
+
+
+ 目标IP,组播模式下有意义
+
+
+
+
+ 目标Port,组播模式下有意义
+
+
+
+
+ 保留字节
+
+
+
+
+ 动作命令信息
+
+
+
+
+ 设备密钥
+
+
+
+
+ 组键
+
+
+
+
+ 组掩码
+
+
+
+
+ 只有设置成1时Action Time才有效,非1时无效
+
+
+
+
+ 预定的时间,和主频有关
+
+
+
+
+ 广播包地址
+
+
+
+
+ 等待ACK的超时时间,如果为0表示不需要ACK
+
+
+
+
+ 保留字节
+
+
+
+
+ 动作命令结果
+
+
+
+
+ IP address of the device
+
+
+
+
+ status code returned by the device
+
+
+
+
+ 保留字节
+
+
+
+
+ 动作命令结果列表
+
+
+
+
+ 返回值个数
+
+
+
+
+ 返回的结果
+
+
+
+
+ 每个节点对应的接口类型
+
+
+
+
+ IValue接口类型
+
+
+
+
+ IBase接口类型
+
+
+
+
+ IInteger接口类型
+
+
+
+
+ IBoolean接口类型
+
+
+
+
+ ICommand接口类型
+
+
+
+
+ IFloat接口类型
+
+
+
+
+ IString接口类型
+
+
+
+
+ IRegister接口类型
+
+
+
+
+ ICategory接口类型
+
+
+
+
+ IEnumeration接口类型
+
+
+
+
+ IEnumEntry接口类型
+
+
+
+
+ IPort接口类型
+
+
+
+
+ XML节点特点
+
+
+
+
+ 节点类型
+
+
+
+
+ 是否可见
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ 保留字节
+
+
+
+
+ XML节点列表
+
+
+
+
+ 节点个数
+
+
+
+
+ 节点列表
+
+
+
+
+ 整型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ Inc
+
+
+
+
+ 保留字节
+
+
+
+
+ 整型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ Inc
+
+
+
+
+ 保留字节
+
+
+
+
+ 浮点型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 最大值
+
+
+
+
+ 最小值
+
+
+
+
+ 保留字节
+
+
+
+
+ 枚举型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 有效数据个数
+
+
+
+
+ 保留字节
+
+
+
+
+ 保留字节
+
+
+
+
+ 字符串型节点值
+
+
+
+
+ 当前值
+
+
+
+
+ 节点值的最大长度
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点的读写性
+
+
+
+
+ 未实现
+
+
+
+
+ 不可获取
+
+
+
+
+ 只写
+
+
+
+
+ 只读
+
+
+
+
+ 可读可写
+
+
+
+
+ 未定义
+
+
+
+
+ 内部用于AccessMode循环检测
+
+
+
+
+ 整型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 最小值
+
+
+
+
+ 最大值
+
+
+
+
+ 增量
+
+
+
+
+ 保留字节
+
+
+
+
+ 布尔型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ 命令型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 保留字节
+
+
+
+
+ 浮点型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 最小值
+
+
+
+
+ 最大值
+
+
+
+
+ 增量
+
+
+
+
+ 保留字节
+
+
+
+
+ 字符串类型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ 寄存器型节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ 类别属性
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ 是否可见
+
+
+
+
+ 保留字节
+
+
+
+
+ EnumEntry属性节点
+
+
+
+
+ 节点名
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点描述
+
+
+
+
+ 提示
+
+
+
+
+
+
+
+
+
+ 父节点数
+
+
+
+
+ 父节点列表
+
+
+
+
+ 是否可见
+
+
+
+
+ 当前值
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 保留字节
+
+
+
+
+ 节点描述
+
+
+
+
+ 节点描述
+
+
+
+
+ Enumeration属性节点
+
+
+
+
+ 是否可见
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ Symbolic数
+
+
+
+
+ 当前Symbolic索引
+
+
+
+
+ Symbolic索引
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 当前值
+
+
+
+
+ 保留字节
+
+
+
+
+ Port属性节点
+
+
+
+
+ 是否可见
+
+
+
+
+ 节点描述
+
+
+
+
+ 显示名称
+
+
+
+
+ 节点名
+
+
+
+
+ 提示
+
+
+
+
+ 访问模式
+
+
+
+
+ 是否锁定。0-否;1-是
+
+
+
+
+ 保留字节
+
+
+
+ 辅助线颜色
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ 预留字节
+
+
+ 自定义点坐标
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ 预留字节
+
+
+ 矩形框区域信息
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ [0.0 , 1.0]
+
+
+ 辅助线颜色
+
+
+ 辅助线宽度
+
+
+ 预留字节
+
+
+ 圆形框区域信息
+
+
+ 圆心信息
+
+
+ 宽向半径,根据图像的相对位置[0, 1.0]
+
+
+ 高向半径,根据图像的相对位置[0, 1.0]
+
+
+ 辅助线颜色信息
+
+
+ 辅助线宽度
+
+
+ 预留字节
+
+
+ 线条辅助线信息
+
+
+ 线条辅助线的起始点坐标
+
+
+ 线条辅助线的终点坐标
+
+
+ 辅助线颜色信息
+
+
+ 辅助线宽度
+
+
+ 预留字节
+
+
+ 枚举类型指定条目信息
+
+
+ 指定值
+
+
+ 指定值对应的符号
+
+
+ 预留字节
+
+
+ U3V流异常类型
+
+
+ 异常的图像,该帧被丢弃
+
+
+ 缓存列表溢出,清除最旧的一帧
+
+
+ 缓存列表为空,该帧被丢弃
+
+
+ 断流恢复
+
+
+ 断流,恢复失败,取流被中止
+
+
+ 设备异常,取流被中止
+
+
+ 重构后的图像列表
+
+
+ 源图像宽
+
+
+ 源图像高
+
+
+ 像素格式
+
+
+ 输出数据缓存
+
+
+ 输出数据长度
+
+
+ 提供的输出缓冲区大小
+
+
+ 预留字节
+
+
+
+ 分时曝光的图像处理方式
+
+
+
+
+ 源图像按行拆分成多张图像
+
+
+
+ 重构图像参数信息
+
+
+ 源图像宽
+
+
+ 源图像高
+
+
+ 像素格式
+
+
+ 输入数据缓存
+
+
+ 输入数据长度
+
+
+ 曝光个数(1-8]
+
+
+ 图像重构方式
+
+
+
+ 输出数据缓存信息
+
+
+
+ 预留字节
+
+
+
+ 像素格式定义
+
+
+
+
+ 未定义像素格式
+
+
+
+
+ Mono1p
+
+
+
+
+ Mono2p
+
+
+
+
+ Mono4p
+
+
+
+
+ Mono8
+
+
+
+
+ Mono8_Signed
+
+
+
+
+ Mono10
+
+
+
+
+ Mono10_Packed
+
+
+
+
+ Mono12
+
+
+
+
+ Mono12_Packed
+
+
+
+
+ Mono14
+
+
+
+
+ Mono16
+
+
+
+
+ BayerGR8
+
+
+
+
+ BayerRG8
+
+
+
+
+ BayerGB8
+
+
+
+
+ BayerBG8
+
+
+
+
+ BayerRBGG8
+
+
+
+
+ BayerGR10
+
+
+
+
+ BayerRG10
+
+
+
+
+ BayerGB10
+
+
+
+
+ BayerBG10
+
+
+
+
+ BayerGR12
+
+
+
+
+ BayerRG12
+
+
+
+
+ BayerGB12
+
+
+
+
+ BayerBG12
+
+
+
+
+ BayerGR10_Packed
+
+
+
+
+ BayerRG10_Packed
+
+
+
+
+ BayerGB10_Packed
+
+
+
+
+ BayerBG10_Packed
+
+
+
+
+ BayerGR12_Packed
+
+
+
+ BayerRG12_Packed
+
+
+ BayerGB12_Packed
+
+
+ BayerBG12_Packed
+
+
+ BayerGR16
+
+
+ BayerRG16
+
+
+ BayerGB16
+
+
+ BayerBG16
+
+
+ RGB8_Packed
+
+
+ BGR8_Packed
+
+
+ RGBA8_Packed
+
+
+ BGRA8_Packed
+
+
+ RGB10_Packed
+
+
+ BGR10_Packed
+
+
+ RGB12_Packed
+
+
+ BGR12_Packed
+
+
+ RGB16_Packed
+
+
+ BGR16_Packed///
+
+
+ RGBA16_Packed
+
+
+ BGRA16_Packed
+
+
+ RGB10V1_Packe
+
+
+ RGB10V2_Packed
+
+
+ RGB12V1_Packed
+
+
+ RGB565_Packed
+
+
+ BGR565_Packed
+
+
+ YUV411_Packed
+
+
+ YUV422_Packed
+
+
+ YUV422_YUYV_Packed
+
+
+ YUV444_Packed
+
+
+ YCBCR8_CBYCR
+
+
+ YCBCR422_8
+
+
+ YCBCR422_8_CBYCRY
+
+
+ YCBCR411_8_CBYYCRYY
+
+
+ YCBCR601_8_CBYCR
+
+
+ YCBCR601_422_8
+
+
+ YCBCR601_422_8_CBYCRY
+
+
+ YCBCR601_411_8_CBYYCRYY
+
+
+ YCBCR709_8_CBYCR
+
+
+ YCBCR709_422_8
+
+
+ YCBCR709_422_8_CBYCRY
+
+
+ YCBCR709_411_8_CBYYCRYY
+
+
+ YUV420SP_NV12
+
+
+ YUV420SP_NV21
+
+
+ RGB8_Planar
+
+
+ RGB10_Planar
+
+
+ RGB12_Planar
+
+
+ RGB16_Planar
+
+
+ Jpeg
+
+
+ Coord3D_ABC32f
+
+
+ Coord3D_ABC32f_Planar
+
+
+ Coord3D_AC32f
+
+
+ COORD3D_DEPTH_PLUS_MASK
+
+
+ Coord3D_ABC32
+
+
+ Coord3D_AB32f
+
+
+ Coord3D_AB32
+
+
+ Coord3D_AC32f_64
+
+
+ Coord3D_AC32f_Planar
+
+
+ Coord3D_AC32
+
+
+ Coord3D_A32f
+
+
+ Coord3D_A32
+
+
+ Coord3D_C32f
+
+
+ Coord3D_C32
+
+
+ Coord3D_ABC16
+
+
+ Coord3D_C16
+
+
+ Float32
+
+
+ HB_Mono8
+
+
+ HB_Mono10
+
+
+ HB_Mono10_Packed
+
+
+ HB_Mono12
+
+
+ HB_Mono12_Packed
+
+
+ HB_Mono16
+
+
+ HB_BayerGR8
+
+
+ HB_BayerRG8
+
+
+ HB_BayerGB8
+
+
+ HB_BayerBG8
+
+
+ HB_BayerRBGG8
+
+
+ HB_BayerGR10
+
+
+ HB_BayerRG10
+
+
+ HB_BayerGB10
+
+
+ HB_BayerBG10
+
+
+ HB_BayerGR12
+
+
+ HB_BayerRG12
+
+
+ HB_BayerGB12
+
+
+ HB_BayerBG12
+
+
+ HB_BayerGR10_Packed
+
+
+ HB_BayerRG10_Packed
+
+
+ HB_BayerGB10_Packed
+
+
+ HB_BayerBG10_Packed
+
+
+ HB_BayerGR12_Packed
+
+
+ HB_BayerRG12_Packed
+
+
+ HB_BayerGB12_Packed
+
+
+ HB_BayerBG12_Packed
+
+
+ HB_YUV422_Packed
+
+
+ HB_YUV422_YUYV_Packed
+
+
+ HB_RGB8_Packed
+
+
+ HB_BGR8_Packed
+
+
+ HB_RGBA8_Packed
+
+
+ HB_BGRA8_Packed
+
+
+ HB_RGB16_Packed
+
+
+ HB_BGR16_Packed
+
+
+ HB_RGBA16_Packed
+
+
+ HB_BGRA16_Packed
+
+
+
+ 像素格式
+
+
+
+
+ 未定义像素格式
+
+
+
+
+ Mono1p
+
+
+
+
+ Mono2p
+
+
+
+
+ Mono4p
+
+
+
+
+ Mono8
+
+
+
+
+ Mono8_Signed
+
+
+
+
+ Mono10
+
+
+
+
+ Mono10_Packed
+
+
+
+
+ Mono12
+
+
+
+
+ Mono12_Packed
+
+
+
+
+ Mono14
+
+
+
+
+ Mono16
+
+
+
+
+ BayerGR8
+
+
+
+
+ BayerRG8
+
+
+
+
+ BayerGB8
+
+
+
+
+ BayerBG8
+
+
+
+
+ BayerRBGG8
+
+
+
+
+ BayerGR10
+
+
+
+
+ BayerRG10
+
+
+
+
+ BayerGB10
+
+
+
+
+ BayerBG10
+
+
+
+
+ BayerGR12
+
+
+
+
+ BayerRG12
+
+
+
+
+ BayerGB12
+
+
+
+
+ BayerBG12
+
+
+
+
+ BayerGR10_Packed
+
+
+
+
+ BayerRG10_Packed
+
+
+
+
+ BayerGB10_Packed
+
+
+
+
+ BayerBG10_Packed
+
+
+
+
+ BayerGR12_Packed
+
+
+
+ BayerRG12_Packed
+
+
+ BayerGB12_Packed
+
+
+ BayerBG12_Packed
+
+
+ BayerGR16
+
+
+ BayerRG16
+
+
+ BayerGB16
+
+
+ BayerBG16
+
+
+ RGB8_Packed
+
+
+ BGR8_Packed
+
+
+ RGBA8_Packed
+
+
+ BGRA8_Packed
+
+
+ RGB10_Packed
+
+
+ BGR10_Packed
+
+
+ RGB12_Packed
+
+
+ BGR12_Packed
+
+
+ RGB16_Packed
+
+
+ BGR16_Packed///
+
+
+ RGBA16_Packed
+
+
+ BGRA16_Packed
+
+
+ RGB10V1_Packe
+
+
+ RGB10V2_Packed
+
+
+ RGB12V1_Packed
+
+
+ RGB565_Packed
+
+
+ BGR565_Packed
+
+
+ YUV411_Packed
+
+
+ YUV422_Packed
+
+
+ YUV422_YUYV_Packed
+
+
+ YUV444_Packed
+
+
+ YCBCR8_CBYCR
+
+
+ YCBCR422_8
+
+
+ YCBCR422_8_CBYCRY
+
+
+ YCBCR411_8_CBYYCRYY
+
+
+ YCBCR601_8_CBYCR
+
+
+ YCBCR601_422_8
+
+
+ YCBCR601_422_8_CBYCRY
+
+
+ YCBCR601_411_8_CBYYCRYY
+
+
+ YCBCR709_8_CBYCR
+
+
+ YCBCR709_422_8
+
+
+ YCBCR709_422_8_CBYCRY
+
+
+ YCBCR709_411_8_CBYYCRYY
+
+
+ YUV420SP_NV12
+
+
+ YUV420SP_NV21
+
+
+ RGB8_Planar
+
+
+ RGB10_Planar
+
+
+ RGB12_Planar
+
+
+ RGB16_Planar
+
+
+ Jpeg
+
+
+ Coord3D_ABC32f
+
+
+ Coord3D_ABC32f_Planar
+
+
+ Coord3D_AC32f
+
+
+ COORD3D_DEPTH_PLUS_MASK
+
+
+ Coord3D_ABC32
+
+
+ Coord3D_AB32f
+
+
+ Coord3D_AB32
+
+
+ Coord3D_AC32f_64
+
+
+ Coord3D_AC32f_Planar
+
+
+ Coord3D_AC32
+
+
+ Coord3D_A32f
+
+
+ Coord3D_A32
+
+
+ Coord3D_C32f
+
+
+ Coord3D_C32
+
+
+ Coord3D_ABC16
+
+
+ Coord3D_C16
+
+
+ Float32
+
+
+ HB_Mono8
+
+
+ HB_Mono10
+
+
+ HB_Mono10_Packed
+
+
+ HB_Mono12
+
+
+ HB_Mono12_Packed
+
+
+ HB_Mono16
+
+
+ HB_BayerGR8
+
+
+ HB_BayerRG8
+
+
+ HB_BayerGB8
+
+
+ HB_BayerBG8
+
+
+ HB_BayerRBGG8
+
+
+ HB_BayerGR10
+
+
+ HB_BayerRG10
+
+
+ HB_BayerGB10
+
+
+ HB_BayerBG10
+
+
+ HB_BayerGR12
+
+
+ HB_BayerRG12
+
+
+ HB_BayerGB12
+
+
+ HB_BayerBG12
+
+
+ HB_BayerGR10_Packed
+
+
+ HB_BayerRG10_Packed
+
+
+ HB_BayerGB10_Packed
+
+
+ HB_BayerBG10_Packed
+
+
+ HB_BayerGR12_Packed
+
+
+ HB_BayerRG12_Packed
+
+
+ HB_BayerGB12_Packed
+
+
+ HB_BayerBG12_Packed
+
+
+ HB_YUV422_Packed
+
+
+ HB_YUV422_YUYV_Packed
+
+
+ HB_RGB8_Packed
+
+
+ HB_BGR8_Packed
+
+
+ HB_RGBA8_Packed
+
+
+ HB_BGRA8_Packed
+
+
+ HB_RGB16_Packed
+
+
+ HB_BGR16_Packed
+
+
+ HB_RGBA16_Packed
+
+
+ HB_BGRA16_Packed
+
+
+
diff --git a/ExternalLibraries/MvCameraControl.Net.dll b/ExternalLibraries/MvCameraControl.Net.dll
new file mode 100644
index 0000000..a2e4c8b
Binary files /dev/null and b/ExternalLibraries/MvCameraControl.Net.dll differ
diff --git a/ExternalLibraries/config.json b/ExternalLibraries/config.json
index 28f9fdf..0200def 100644
--- a/ExternalLibraries/config.json
+++ b/ExternalLibraries/config.json
@@ -1,4 +1,5 @@
{
"Language": "zh-CN",
- "LogLevel": "Debug"
+ "LogLevel": "Debug",
+ "CameraType": "Hikvision"
}
\ No newline at end of file
diff --git a/XP.Camera/Converters/PixelConverter.cs b/XP.Camera/Converters/PixelConverter.cs
index 2c965b5..601f13a 100644
--- a/XP.Camera/Converters/PixelConverter.cs
+++ b/XP.Camera/Converters/PixelConverter.cs
@@ -10,6 +10,7 @@ public static class PixelConverter
{
///
/// 将原始像素数据转换为 WPF 的 BitmapSource 对象。
+ /// 支持 Mono8、BGR8、RGB8、BGRA8 以及 Bayer 8-bit 格式(自动解码为 BGR24)。
/// 返回的 BitmapSource 已调用 Freeze(),可跨线程访问。
///
public static BitmapSource ToBitmapSource(byte[] pixelData, int width, int height, string pixelFormat)
@@ -19,11 +20,23 @@ public static class PixelConverter
if (height <= 0) throw new ArgumentException("Height must be a positive integer.", nameof(height));
ArgumentNullException.ThrowIfNull(pixelFormat);
- var (format, stride) = pixelFormat switch
+ string normalized = NormalizePixelFormat(pixelFormat);
+
+ // Bayer 格式需要解码
+ if (normalized.StartsWith("Bayer"))
+ {
+ byte[] bgrData = DemosaicBayer(pixelData, width, height, normalized);
+ var bmp = BitmapSource.Create(width, height, 96, 96, PixelFormats.Bgr24, null, bgrData, width * 3);
+ bmp.Freeze();
+ return bmp;
+ }
+
+ var (format, stride) = normalized switch
{
"Mono8" => (PixelFormats.Gray8, width),
"BGR8" => (PixelFormats.Bgr24, width * 3),
"BGRA8" => (PixelFormats.Bgra32, width * 4),
+ "RGB8" => (PixelFormats.Rgb24, width * 3),
_ => throw new NotSupportedException($"Pixel format '{pixelFormat}' is not supported.")
};
@@ -31,4 +44,136 @@ public static class PixelConverter
bitmap.Freeze();
return bitmap;
}
-}
\ No newline at end of file
+
+ ///
+ /// 将不同 SDK 的像素格式名称统一为标准名称。
+ ///
+ private static string NormalizePixelFormat(string pixelFormat)
+ {
+ if (pixelFormat is "Mono8" or "BGR8" or "BGRA8" or "RGB8")
+ return pixelFormat;
+
+ var upper = pixelFormat.ToUpperInvariant();
+
+ if (upper.Contains("MONO8")) return "Mono8";
+ if (upper.Contains("BGR8")) return "BGR8";
+ if (upper.Contains("BGRA8")) return "BGRA8";
+ if (upper.Contains("RGB8") && !upper.Contains("BAYER")) return "RGB8";
+
+ // Bayer 格式
+ if (upper.Contains("BAYERRG8") || upper.Contains("BAYER_RG8")) return "BayerRG8";
+ if (upper.Contains("BAYERGR8") || upper.Contains("BAYER_GR8")) return "BayerGR8";
+ if (upper.Contains("BAYERGB8") || upper.Contains("BAYER_GB8")) return "BayerGB8";
+ if (upper.Contains("BAYERBG8") || upper.Contains("BAYER_BG8")) return "BayerBG8";
+
+ return pixelFormat;
+ }
+
+ ///
+ /// 简单 Bayer 解码(双线性插值),输出 BGR24。
+ ///
+ private static byte[] DemosaicBayer(byte[] bayer, int width, int height, string pattern)
+ {
+ // pattern: BayerRG8, BayerGR8, BayerGB8, BayerBG8
+ // RG: R G GR: G R GB: G B BG: B G
+ // G B B G R G G R
+
+ int rRow, rCol; // 红色像素在2x2块中的位置
+ switch (pattern)
+ {
+ case "BayerRG8": rRow = 0; rCol = 0; break;
+ case "BayerGR8": rRow = 0; rCol = 1; break;
+ case "BayerGB8": rRow = 1; rCol = 0; break;
+ case "BayerBG8": rRow = 1; rCol = 1; break;
+ default: rRow = 0; rCol = 0; break;
+ }
+
+ byte[] bgr = new byte[width * height * 3];
+
+ for (int y = 0; y < height; y++)
+ {
+ for (int x = 0; x < width; x++)
+ {
+ int srcIdx = y * width + x;
+ int dstIdx = (y * width + x) * 3;
+
+ // 确定当前像素在 Bayer 模式中的角色
+ int py = (y + rRow) % 2; // 0=红行, 1=蓝行
+ int px = (x + rCol) % 2; // 0=红列/蓝列, 1=绿列
+
+ byte r, g, b;
+
+ if (py == 0 && px == 0)
+ {
+ // 红色像素位置
+ r = bayer[srcIdx];
+ g = AvgNeighbors4(bayer, width, height, x, y);
+ b = AvgDiagonal(bayer, width, height, x, y);
+ }
+ else if (py == 1 && px == 1)
+ {
+ // 蓝色像素位置
+ b = bayer[srcIdx];
+ g = AvgNeighbors4(bayer, width, height, x, y);
+ r = AvgDiagonal(bayer, width, height, x, y);
+ }
+ else if (py == 0 && px == 1)
+ {
+ // 绿色像素(红行)
+ g = bayer[srcIdx];
+ r = AvgHorizontal(bayer, width, x, y);
+ b = AvgVertical(bayer, width, height, x, y);
+ }
+ else
+ {
+ // 绿色像素(蓝行)
+ g = bayer[srcIdx];
+ b = AvgHorizontal(bayer, width, x, y);
+ r = AvgVertical(bayer, width, height, x, y);
+ }
+
+ bgr[dstIdx] = b;
+ bgr[dstIdx + 1] = g;
+ bgr[dstIdx + 2] = r;
+ }
+ }
+
+ return bgr;
+ }
+
+ private static byte AvgNeighbors4(byte[] data, int w, int h, int x, int y)
+ {
+ int sum = 0, count = 0;
+ if (x > 0) { sum += data[y * w + x - 1]; count++; }
+ if (x < w - 1) { sum += data[y * w + x + 1]; count++; }
+ if (y > 0) { sum += data[(y - 1) * w + x]; count++; }
+ if (y < h - 1) { sum += data[(y + 1) * w + x]; count++; }
+ return count > 0 ? (byte)(sum / count) : (byte)0;
+ }
+
+ private static byte AvgDiagonal(byte[] data, int w, int h, int x, int y)
+ {
+ int sum = 0, count = 0;
+ if (x > 0 && y > 0) { sum += data[(y - 1) * w + x - 1]; count++; }
+ if (x < w - 1 && y > 0) { sum += data[(y - 1) * w + x + 1]; count++; }
+ if (x > 0 && y < h - 1) { sum += data[(y + 1) * w + x - 1]; count++; }
+ if (x < w - 1 && y < h - 1) { sum += data[(y + 1) * w + x + 1]; count++; }
+ return count > 0 ? (byte)(sum / count) : (byte)0;
+ }
+
+ private static byte AvgHorizontal(byte[] data, int w, int x, int y)
+ {
+ int sum = 0, count = 0;
+ if (x > 0) { sum += data[y * w + x - 1]; count++; }
+ if (x < w - 1) { sum += data[y * w + x + 1]; count++; }
+ return count > 0 ? (byte)(sum / count) : (byte)0;
+ }
+
+ private static byte AvgVertical(byte[] data, int w, int h, int x, int y)
+ {
+ int sum = 0, count = 0;
+ if (y > 0) { sum += data[(y - 1) * w + x]; count++; }
+ if (y < h - 1) { sum += data[(y + 1) * w + x]; count++; }
+ return count > 0 ? (byte)(sum / count) : (byte)0;
+ }
+}
diff --git a/XP.Camera/Core/CameraFactory.cs b/XP.Camera/Core/CameraFactory.cs
index de85f89..e8baf3b 100644
--- a/XP.Camera/Core/CameraFactory.cs
+++ b/XP.Camera/Core/CameraFactory.cs
@@ -11,8 +11,8 @@ public class CameraFactory : ICameraFactory
return cameraType switch
{
"Basler" => new BaslerCameraController(),
- // "Hikvision" => new HikvisionCameraController(),
- _ => throw new NotSupportedException($"不支持的相机品牌: {cameraType}")
+ "Hikvision" => new HikvisionCameraController(),
+ _ => throw new NotSupportedException($"Unsupported Camera Type: {cameraType}")
};
}
}
\ No newline at end of file
diff --git a/XP.Camera/Hikvision/HikvisionCameraController.cs b/XP.Camera/Hikvision/HikvisionCameraController.cs
new file mode 100644
index 0000000..5e0a33c
--- /dev/null
+++ b/XP.Camera/Hikvision/HikvisionCameraController.cs
@@ -0,0 +1,535 @@
+using MvCameraControl;
+using Serilog;
+
+namespace XP.Camera;
+
+///
+/// 海康威视相机控制器,封装 MvCameraControl.Net SDK 实现 。
+///
+///
+/// 所有公共方法通过内部 _syncLock 对象进行 lock 同步,保证线程安全。
+/// 事件回调(ImageGrabbed、GrabError)在 SDK 回调线程上触发,不持有 _syncLock,避免死锁。
+///
+public class HikvisionCameraController : ICameraController
+{
+ private static readonly ILogger _logger = Log.ForContext();
+ private static bool _sdkInitialized;
+ private static readonly object _sdkInitLock = new();
+
+ private readonly object _syncLock = new();
+ private IDevice? _device;
+ private CameraInfo? _cachedCameraInfo;
+ private bool _isConnected;
+ private bool _isGrabbing;
+
+ public HikvisionCameraController()
+ {
+ // SDK 初始化延迟到 Open() 中执行
+ }
+
+ ///
+ public bool IsConnected
+ {
+ get { lock (_syncLock) { return _isConnected; } }
+ }
+
+ ///
+ public bool IsGrabbing
+ {
+ get { lock (_syncLock) { return _isGrabbing; } }
+ }
+
+ ///
+ public event EventHandler? ImageGrabbed;
+
+ ///
+ public event EventHandler? GrabError;
+
+ ///
+ public event EventHandler? ConnectionLost;
+
+ ///
+ public CameraInfo Open()
+ {
+ lock (_syncLock)
+ {
+ if (_isConnected && _cachedCameraInfo != null)
+ {
+ _logger.Information("Hikvision camera already connected, returning cached info.");
+ return _cachedCameraInfo;
+ }
+
+ try
+ {
+ _logger.Information("Opening Hikvision camera connection...");
+
+ // 确保 SDK 初始化
+ EnsureSdkInitialized();
+
+ // 枚举设备
+ DeviceTLayerType layerType = DeviceTLayerType.MvGigEDevice
+ | DeviceTLayerType.MvUsbDevice;
+
+ List deviceInfoList;
+ int ret = DeviceEnumerator.EnumDevices(layerType, out deviceInfoList);
+ _logger.Information("EnumDevices(GigE|USB) returned: 0x{RetCode:X8}, device count: {Count}",
+ ret, deviceInfoList?.Count ?? 0);
+
+ // 如果没找到,分别尝试
+ if (ret == MvError.MV_OK && (deviceInfoList == null || deviceInfoList.Count == 0))
+ {
+ // 单独尝试 GigE
+ List gigeList;
+ int retGige = DeviceEnumerator.EnumDevices(DeviceTLayerType.MvGigEDevice, out gigeList);
+ _logger.Information("EnumDevices(GigE only) returned: 0x{RetCode:X8}, count: {Count}",
+ retGige, gigeList?.Count ?? 0);
+
+ // 单独尝试 USB
+ List usbList;
+ int retUsb = DeviceEnumerator.EnumDevices(DeviceTLayerType.MvUsbDevice, out usbList);
+ _logger.Information("EnumDevices(USB only) returned: 0x{RetCode:X8}, count: {Count}",
+ retUsb, usbList?.Count ?? 0);
+
+ // 合并结果
+ deviceInfoList = new List();
+ if (gigeList != null) deviceInfoList.AddRange(gigeList);
+ if (usbList != null) deviceInfoList.AddRange(usbList);
+ }
+
+ if (ret != MvError.MV_OK)
+ {
+ throw new CameraException($"Enumerate Hikvision devices failed: 0x{ret:X8}");
+ }
+
+ if (deviceInfoList == null || deviceInfoList.Count == 0)
+ {
+ throw new DeviceNotFoundException("No Hikvision camera device found.");
+ }
+
+ // 选择第一个设备
+ IDeviceInfo deviceInfo = deviceInfoList[0];
+ _logger.Information("Found Hikvision device: {Model} (SN: {Serial})",
+ deviceInfo.ModelName, deviceInfo.SerialNumber);
+
+ // 创建设备
+ _device = DeviceFactory.CreateDevice(deviceInfo);
+
+ // 打开设备
+ ret = _device.Open();
+ if (ret != MvError.MV_OK)
+ {
+ _device.Dispose();
+ _device = null;
+ throw new CameraException($"Open Hikvision device failed: 0x{ret:X8}");
+ }
+
+ // GigE 设备优化包大小
+ if (_device is IGigEDevice gigEDevice)
+ {
+ int packetSize;
+ ret = gigEDevice.GetOptimalPacketSize(out packetSize);
+ if (ret == MvError.MV_OK && packetSize > 0)
+ {
+ _device.Parameters.SetIntValue("GevSCPSPacketSize", packetSize);
+ _logger.Debug("Set GigE packet size to {PacketSize}", packetSize);
+ }
+ }
+
+ // 配置软件触发模式
+ _device.Parameters.SetEnumValueByString("TriggerMode", "On");
+ _device.Parameters.SetEnumValueByString("TriggerSource", "Software");
+
+ // 彩色相机:尝试设置输出为 BGR8 以便直接显示
+ // 如果相机不支持 BGR8(如只支持 Bayer),则保持默认
+ int fmtRet = _device.Parameters.SetEnumValueByString("PixelFormat", "BGR8Packed");
+ if (fmtRet != MvError.MV_OK)
+ {
+ // 尝试 Mono8(黑白相机)
+ fmtRet = _device.Parameters.SetEnumValueByString("PixelFormat", "Mono8");
+ }
+ _logger.Debug("Set PixelFormat result: 0x{Ret:X8}", fmtRet);
+
+ _cachedCameraInfo = new CameraInfo(
+ ModelName: deviceInfo.ModelName ?? "",
+ SerialNumber: deviceInfo.SerialNumber ?? "",
+ VendorName: deviceInfo.ManufacturerName ?? "",
+ DeviceType: deviceInfo.TLayerType.ToString()
+ );
+
+ _isConnected = true;
+ _logger.Information("Hikvision camera connected: {ModelName} (SN: {SerialNumber})",
+ _cachedCameraInfo.ModelName, _cachedCameraInfo.SerialNumber);
+
+ return _cachedCameraInfo;
+ }
+ catch (Exception ex) when (ex is not CameraException)
+ {
+ _device?.Dispose();
+ _device = null;
+ _logger.Error(ex, "Failed to open Hikvision camera.");
+ throw new CameraException("Failed to open Hikvision camera device.", ex);
+ }
+ }
+ }
+
+ ///
+ public void Close()
+ {
+ lock (_syncLock)
+ {
+ if (!_isConnected)
+ {
+ _logger.Information("Hikvision camera not connected, Close() ignored.");
+ return;
+ }
+
+ try
+ {
+ if (_isGrabbing)
+ {
+ StopGrabbingInternal();
+ }
+
+ _logger.Information("Closing Hikvision camera connection...");
+ _device?.Close();
+ _device?.Dispose();
+ _device = null;
+ _isConnected = false;
+ _cachedCameraInfo = null;
+ _logger.Information("Hikvision camera connection closed.");
+ }
+ catch (Exception ex) when (ex is not CameraException)
+ {
+ _device = null;
+ _isConnected = false;
+ _isGrabbing = false;
+ _cachedCameraInfo = null;
+ _logger.Error(ex, "Error while closing Hikvision camera.");
+ throw new CameraException("Failed to close Hikvision camera device.", ex);
+ }
+ }
+ }
+
+ ///
+ public void StartGrabbing()
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+
+ if (_isGrabbing)
+ {
+ _logger.Information("Already grabbing, StartGrabbing() ignored.");
+ return;
+ }
+
+ try
+ {
+ _logger.Information("Starting Hikvision grabbing with software trigger...");
+
+ // 设置缓存节点数
+ _device!.StreamGrabber.SetImageNodeNum(5);
+
+ // 注册回调
+ _device.StreamGrabber.FrameGrabedEvent += OnFrameGrabbed;
+
+ // 开始采集
+ int ret = _device.StreamGrabber.StartGrabbing();
+ if (ret != MvError.MV_OK)
+ {
+ _device.StreamGrabber.FrameGrabedEvent -= OnFrameGrabbed;
+ throw new CameraException($"Start grabbing failed: 0x{ret:X8}");
+ }
+
+ _isGrabbing = true;
+ _logger.Information("Hikvision grabbing started.");
+ }
+ catch (Exception ex) when (ex is not CameraException)
+ {
+ _logger.Error(ex, "Failed to start Hikvision grabbing.");
+ throw new CameraException("Failed to start grabbing.", ex);
+ }
+ }
+ }
+
+ ///
+ public void ExecuteSoftwareTrigger()
+ {
+ lock (_syncLock)
+ {
+ if (!_isGrabbing)
+ {
+ throw new InvalidOperationException("Cannot execute software trigger: camera is not grabbing.");
+ }
+
+ try
+ {
+ int ret = _device!.Parameters.SetCommandValue("TriggerSoftware");
+ if (ret != MvError.MV_OK)
+ {
+ throw new CameraException($"Execute software trigger failed: 0x{ret:X8}");
+ }
+ }
+ catch (Exception ex) when (ex is not CameraException and not InvalidOperationException)
+ {
+ _logger.Error(ex, "Failed to execute software trigger.");
+ throw new CameraException("Failed to execute software trigger.", ex);
+ }
+ }
+ }
+
+ ///
+ public void StopGrabbing()
+ {
+ lock (_syncLock)
+ {
+ if (!_isGrabbing) return;
+ StopGrabbingInternal();
+ }
+ }
+
+ ///
+ public double GetExposureTime()
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ IFloatValue floatValue;
+ int ret = _device!.Parameters.GetFloatValue("ExposureTime", out floatValue);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Get ExposureTime failed: 0x{ret:X8}");
+ return floatValue.CurValue;
+ }
+ }
+
+ ///
+ public void SetExposureTime(double microseconds)
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ // 关闭自动曝光
+ _device!.Parameters.SetEnumValueByString("ExposureAuto", "Off");
+ int ret = _device.Parameters.SetFloatValue("ExposureTime", (float)microseconds);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Set ExposureTime failed: 0x{ret:X8}");
+ _logger.Information("Hikvision exposure time set to {Microseconds} µs.", microseconds);
+ }
+ }
+
+ ///
+ public double GetGain()
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ IFloatValue floatValue;
+ int ret = _device!.Parameters.GetFloatValue("Gain", out floatValue);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Get Gain failed: 0x{ret:X8}");
+ return floatValue.CurValue;
+ }
+ }
+
+ ///
+ public void SetGain(double value)
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ _device!.Parameters.SetEnumValueByString("GainAuto", "Off");
+ int ret = _device.Parameters.SetFloatValue("Gain", (float)value);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Set Gain failed: 0x{ret:X8}");
+ _logger.Information("Hikvision gain set to {Value}.", value);
+ }
+ }
+
+ ///
+ public int GetWidth()
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ IIntValue intValue;
+ int ret = _device!.Parameters.GetIntValue("Width", out intValue);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Get Width failed: 0x{ret:X8}");
+ return (int)intValue.CurValue;
+ }
+ }
+
+ ///
+ public void SetWidth(int value)
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ int ret = _device!.Parameters.SetIntValue("Width", value);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Set Width failed: 0x{ret:X8}");
+ _logger.Information("Hikvision width set to {Value}.", value);
+ }
+ }
+
+ ///
+ public int GetHeight()
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ IIntValue intValue;
+ int ret = _device!.Parameters.GetIntValue("Height", out intValue);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Get Height failed: 0x{ret:X8}");
+ return (int)intValue.CurValue;
+ }
+ }
+
+ ///
+ public void SetHeight(int value)
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ int ret = _device!.Parameters.SetIntValue("Height", value);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Set Height failed: 0x{ret:X8}");
+ _logger.Information("Hikvision height set to {Value}.", value);
+ }
+ }
+
+ ///
+ public string GetPixelFormat()
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ IEnumValue enumValue;
+ int ret = _device!.Parameters.GetEnumValue("PixelFormat", out enumValue);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Get PixelFormat failed: 0x{ret:X8}");
+ return enumValue.CurEnumEntry.Symbolic;
+ }
+ }
+
+ ///
+ public void SetPixelFormat(string format)
+ {
+ lock (_syncLock)
+ {
+ EnsureConnected();
+ int ret = _device!.Parameters.SetEnumValueByString("PixelFormat", format);
+ if (ret != MvError.MV_OK)
+ throw new CameraException($"Set PixelFormat failed: 0x{ret:X8}");
+ _logger.Information("Hikvision pixel format set to {Format}.", format);
+ }
+ }
+
+ ///
+ public void Dispose()
+ {
+ Close();
+ GC.SuppressFinalize(this);
+ }
+
+ // ══════════════════════════════════════════════════════════════
+ // 私有方法
+ // ══════════════════════════════════════════════════════════════
+
+ ///
+ /// SDK 回调:图像采集完成
+ ///
+ private void OnFrameGrabbed(object? sender, FrameGrabbedEventArgs e)
+ {
+ try
+ {
+ var frameOut = e.FrameOut;
+ if (frameOut == null || frameOut.Image == null)
+ {
+ _logger.Warning("Hikvision OnFrameGrabbed: FrameOut or Image is null");
+ GrabError?.Invoke(this, new GrabErrorEventArgs(-1, "FrameOut or Image is null."));
+ return;
+ }
+
+ var image = frameOut.Image;
+ int width = (int)image.Width;
+ int height = (int)image.Height;
+ int imageSize = (int)image.ImageSize;
+ string pixelFormat = image.PixelType.ToString();
+
+ // 提取像素数据
+ byte[] pixelData = image.PixelData ?? Array.Empty();
+
+ _logger.Debug("Hikvision frame: {Width}x{Height}, format={Format}, dataLen={Len}",
+ width, height, pixelFormat, pixelData.Length);
+
+ if (pixelData.Length == 0)
+ {
+ _logger.Warning("Hikvision OnFrameGrabbed: PixelData is empty");
+ return;
+ }
+
+ var args = new ImageGrabbedEventArgs(pixelData, width, height, pixelFormat);
+ ImageGrabbed?.Invoke(this, args);
+ }
+ catch (Exception ex)
+ {
+ _logger.Error(ex, "Exception in Hikvision OnFrameGrabbed handler.");
+ }
+ }
+
+ private void StopGrabbingInternal()
+ {
+ if (!_isGrabbing) return;
+
+ try
+ {
+ _device?.StreamGrabber.StopGrabbing();
+ if (_device != null)
+ _device.StreamGrabber.FrameGrabedEvent -= OnFrameGrabbed;
+ _isGrabbing = false;
+ _logger.Information("Hikvision grabbing stopped.");
+ }
+ catch (Exception ex) when (ex is not CameraException)
+ {
+ _isGrabbing = false;
+ _logger.Error(ex, "Error while stopping Hikvision grabbing.");
+ throw new CameraException("Failed to stop grabbing.", ex);
+ }
+ }
+
+ private void EnsureConnected()
+ {
+ if (!_isConnected)
+ throw new InvalidOperationException("Hikvision camera is not connected. Call Open() first.");
+ }
+
+ ///
+ /// 确保 SDK 全局初始化(只调用一次)
+ ///
+ private static void EnsureSdkInitialized()
+ {
+ if (_sdkInitialized) return;
+ lock (_sdkInitLock)
+ {
+ if (_sdkInitialized) return;
+ try
+ {
+ int ret = SDKSystem.Initialize();
+ if (ret != MvError.MV_OK)
+ {
+ _logger.Error("Hikvision SDK Initialize failed: 0x{ErrorCode:X8}", ret);
+ throw new CameraException($"Hikvision SDK Initialize failed: 0x{ret:X8}");
+ }
+ _sdkInitialized = true;
+ _logger.Information("Hikvision SDK initialized successfully.");
+ }
+ catch (Exception ex) when (ex is not CameraException)
+ {
+ _logger.Error(ex, "Failed to initialize Hikvision SDK.");
+ throw new CameraException("Failed to initialize Hikvision SDK.", ex);
+ }
+ }
+ }
+}
diff --git a/XP.Camera/XP.Camera.csproj b/XP.Camera/XP.Camera.csproj
index 1510592..0a4b749 100644
--- a/XP.Camera/XP.Camera.csproj
+++ b/XP.Camera/XP.Camera.csproj
@@ -7,12 +7,19 @@
enable
XP.Camera
XP.Camera
+ true
+ true
..\ExternalLibraries\Basler.Pylon.dll
+
+ ..\ExternalLibraries\MvCameraControl.Net.dll
+ true
+ true
+
diff --git a/XplorePlane/App.xaml.cs b/XplorePlane/App.xaml.cs
index 258a6c0..696c467 100644
--- a/XplorePlane/App.xaml.cs
+++ b/XplorePlane/App.xaml.cs
@@ -321,7 +321,7 @@ namespace XplorePlane
shell.Loaded += (s, e) =>
{
// [DEV] 导航相机连接已屏蔽,开发阶段跳过以加快启动速度
- // TryConnectCamera();
+ TryConnectCamera();
// 初始化主界面探测器帧流水线,开始接收探测器图像事件
try
@@ -334,20 +334,20 @@ namespace XplorePlane
}
// [DEV] 相机状态通知已屏蔽
- // try
- // {
- // var cameraVm = Container.Resolve();
- // cameraVm.OnCameraReady();
- // }
- // catch (Exception ex)
- // {
- // Log.Error(ex, "通知相机 ViewModel 失败");
- // }
+ try
+ {
+ var cameraVm = Container.Resolve();
+ cameraVm.OnCameraReady();
+ }
+ catch (Exception ex)
+ {
+ Log.Error(ex, "通知相机 ViewModel 失败");
+ }
- // if (_cameraError != null)
- // {
- // HexMessageBox.Show(_cameraError, MessageBoxButton.OK, MessageBoxImage.Error);
- // }
+ if (_cameraError != null)
+ {
+ HexMessageBox.Show(_cameraError, MessageBoxButton.OK, MessageBoxImage.Error);
+ }
};
return shell;
@@ -462,7 +462,26 @@ namespace XplorePlane
// ── 导航相机服务(单例)──
containerRegistry.RegisterSingleton();
containerRegistry.RegisterSingleton(() =>
- new CameraFactory().CreateController("Basler"));
+ {
+ string cameraType = "Hikvision"; // 默认值
+ try
+ {
+ var configPath = Path.Combine(AppContext.BaseDirectory, "config.json");
+ if (File.Exists(configPath))
+ {
+ var json = File.ReadAllText(configPath);
+ var match = System.Text.RegularExpressions.Regex.Match(json, "\"CameraType\"\\s*:\\s*\"([^\"]+)\"");
+ if (match.Success)
+ cameraType = match.Groups[1].Value;
+ }
+ }
+ catch (Exception ex)
+ {
+ Log.Warning(ex, "读取 CameraType 配置失败,使用默认值 Hikvision");
+ }
+ Log.Information("相机类型: {CameraType}", cameraType);
+ return new CameraFactory().CreateController(cameraType);
+ });
containerRegistry.RegisterSingleton();
Log.Information("依赖注入容器配置完成");
diff --git a/XplorePlane/ViewModels/Main/NavigationPropertyPanelViewModel.cs b/XplorePlane/ViewModels/Main/NavigationPropertyPanelViewModel.cs
index 586e99f..1c5d728 100644
--- a/XplorePlane/ViewModels/Main/NavigationPropertyPanelViewModel.cs
+++ b/XplorePlane/ViewModels/Main/NavigationPropertyPanelViewModel.cs
@@ -55,9 +55,6 @@ namespace XplorePlane.ViewModels
StopGrabCommand.RaiseCanExecuteChanged();
ApplyExposureCommand.RaiseCanExecuteChanged();
ApplyGainCommand.RaiseCanExecuteChanged();
- ApplyWidthCommand.RaiseCanExecuteChanged();
- ApplyHeightCommand.RaiseCanExecuteChanged();
- ApplyPixelFormatCommand.RaiseCanExecuteChanged();
RefreshCameraParamsCommand.RaiseCanExecuteChanged();
OpenCameraSettingsCommand.RaiseCanExecuteChanged();
}
@@ -79,7 +76,7 @@ namespace XplorePlane.ViewModels
}
}
- private string _cameraStatusText = "未连接";
+ private string _cameraStatusText = "Disconnected";
public string CameraStatusText
{
@@ -152,8 +149,6 @@ namespace XplorePlane.ViewModels
set => SetProperty(ref _selectedPixelFormat, value);
}
- public ObservableCollection PixelFormatOptions { get; } = new() { "Mono8", "BGR8", "BGRA8" };
-
#endregion Properties
#region Commands
@@ -164,9 +159,6 @@ namespace XplorePlane.ViewModels
public DelegateCommand StopGrabCommand { get; }
public DelegateCommand ApplyExposureCommand { get; }
public DelegateCommand ApplyGainCommand { get; }
- public DelegateCommand ApplyWidthCommand { get; }
- public DelegateCommand ApplyHeightCommand { get; }
- public DelegateCommand ApplyPixelFormatCommand { get; }
public DelegateCommand RefreshCameraParamsCommand { get; }
public DelegateCommand OpenCameraSettingsCommand { get; }
@@ -183,9 +175,6 @@ namespace XplorePlane.ViewModels
StopGrabCommand = new DelegateCommand(StopGrab, () => IsCameraGrabbing);
ApplyExposureCommand = new DelegateCommand(() => ApplyCameraParam(() => _camera.SetExposureTime(ExposureTime)), () => IsCameraConnected);
ApplyGainCommand = new DelegateCommand(() => ApplyCameraParam(() => _camera.SetGain(GainValue)), () => IsCameraConnected);
- ApplyWidthCommand = new DelegateCommand(() => ApplyCameraParam(() => _camera.SetWidth(ImageWidth)), () => IsCameraConnected);
- ApplyHeightCommand = new DelegateCommand(() => ApplyCameraParam(() => _camera.SetHeight(ImageHeight)), () => IsCameraConnected);
- ApplyPixelFormatCommand = new DelegateCommand(() => ApplyCameraParam(() => _camera.SetPixelFormat(SelectedPixelFormat)), () => IsCameraConnected);
RefreshCameraParamsCommand = new DelegateCommand(RefreshCameraParams, () => IsCameraConnected);
OpenCameraSettingsCommand = new DelegateCommand(OpenCameraSettings, () => IsCameraConnected);
@@ -193,7 +182,7 @@ namespace XplorePlane.ViewModels
_defaultImageSource = new BitmapImage(new Uri("pack://application:,,,/Assets/Icons/NoCamera.png"));
_cameraImageSource = _defaultImageSource;
- CameraStatusText = "正在检索相机...";
+ CameraStatusText = "Searching camera...";
}
///
@@ -203,7 +192,7 @@ namespace XplorePlane.ViewModels
{
if (!_camera.IsConnected)
{
- CameraStatusText = "未检测到相机";
+ CameraStatusText = "No camera detected";
return;
}
@@ -212,7 +201,7 @@ namespace XplorePlane.ViewModels
_camera.ConnectionLost += OnCameraConnectionLost;
IsCameraConnected = true;
- CameraStatusText = "已连接";
+ CameraStatusText = "Connected";
RefreshCameraParams();
SyncCameraStateToAppState();
StartGrab();
@@ -231,7 +220,7 @@ namespace XplorePlane.ViewModels
var info = _camera.Open();
IsCameraConnected = true;
- CameraStatusText = $"已连接: {info.ModelName} (SN: {info.SerialNumber})";
+ CameraStatusText = $"Connected: {info.ModelName} (SN: {info.SerialNumber})";
_logger.Information("Camera connected: {ModelName}", info.ModelName);
RefreshCameraParams();
SyncCameraStateToAppState();
@@ -239,7 +228,7 @@ namespace XplorePlane.ViewModels
catch (Exception ex)
{
_logger.Error(ex, "Failed to connect camera");
- CameraStatusText = $"连接失败: {ex.Message}";
+ CameraStatusText = $"Connection failed: {ex.Message}";
IsCameraConnected = false;
SyncCameraStateToAppState();
}
@@ -263,7 +252,7 @@ namespace XplorePlane.ViewModels
_camera.ConnectionLost -= OnCameraConnectionLost;
IsCameraConnected = false;
IsCameraGrabbing = false;
- CameraStatusText = "未连接";
+ CameraStatusText = "Disconnected";
CameraImageSource = null;
SyncCameraStateToAppState();
_logger.Information("Camera disconnected");
@@ -276,7 +265,7 @@ namespace XplorePlane.ViewModels
{
_camera.StartGrabbing();
IsCameraGrabbing = true;
- CameraStatusText = "采集中...";
+ CameraStatusText = "Grabbing...";
SyncCameraStateToAppState();
// 如果已勾选实时,自动启动 Live View
@@ -288,7 +277,7 @@ namespace XplorePlane.ViewModels
catch (Exception ex)
{
_logger.Error(ex, "Failed to start grabbing");
- CameraStatusText = $"采集失败: {ex.Message}";
+ CameraStatusText = $"Grab failed: {ex.Message}";
}
}
@@ -299,7 +288,7 @@ namespace XplorePlane.ViewModels
IsLiveViewEnabled = false;
_camera.StopGrabbing();
IsCameraGrabbing = false;
- CameraStatusText = "已停止采集";
+ CameraStatusText = "Grab stopped";
SyncCameraStateToAppState();
}
catch (Exception ex)
@@ -313,7 +302,7 @@ namespace XplorePlane.ViewModels
if (!IsCameraGrabbing) return;
_liveViewRunning = true;
- CameraStatusText = "实时采集中...";
+ CameraStatusText = "Live...";
try { _camera.ExecuteSoftwareTrigger(); }
catch (Exception ex) { _logger.Error(ex, "Live view trigger failed"); }
@@ -323,7 +312,7 @@ namespace XplorePlane.ViewModels
{
_liveViewRunning = false;
if (IsCameraGrabbing)
- CameraStatusText = "采集中...";
+ CameraStatusText = "Grabbing...";
}
private void RefreshCameraParams()
@@ -334,13 +323,16 @@ namespace XplorePlane.ViewModels
GainValue = _camera.GetGain();
ImageWidth = _camera.GetWidth();
ImageHeight = _camera.GetHeight();
- SelectedPixelFormat = _camera.GetPixelFormat();
+
+ var currentFormat = _camera.GetPixelFormat();
+ SelectedPixelFormat = currentFormat;
+
_logger.Information("Camera parameters refreshed");
}
catch (Exception ex)
{
_logger.Error(ex, "Failed to read camera parameters");
- CameraStatusText = $"读取参数失败: {ex.Message}";
+ CameraStatusText = $"Read params failed: {ex.Message}";
}
}
@@ -354,7 +346,7 @@ namespace XplorePlane.ViewModels
catch (Exception ex)
{
_logger.Error(ex, "Failed to apply camera parameter");
- CameraStatusText = $"设置参数失败: {ex.Message}";
+ CameraStatusText = $"Set param failed: {ex.Message}";
}
}
@@ -385,17 +377,21 @@ namespace XplorePlane.ViewModels
if (!_disposed)
CameraImageSource = bitmap;
});
-
- if (_liveViewRunning)
- {
- _camera.ExecuteSoftwareTrigger();
- }
}
catch (Exception ex)
{
if (!_disposed)
_logger.Error(ex, "Failed to process camera image");
}
+ finally
+ {
+ // 无论图像处理是否成功,都继续触发下一帧,保持采集链不断
+ if (_liveViewRunning && !_disposed)
+ {
+ try { _camera.ExecuteSoftwareTrigger(); }
+ catch { /* 忽略触发失败 */ }
+ }
+ }
}
private void OnCameraGrabError(object? sender, GrabErrorEventArgs e)
@@ -407,7 +403,7 @@ namespace XplorePlane.ViewModels
app.Dispatcher.BeginInvoke(() =>
{
if (!_disposed)
- CameraStatusText = $"采集错误: {e.ErrorDescription}";
+ CameraStatusText = $"Grab error: {e.ErrorDescription}";
});
}
@@ -422,7 +418,7 @@ namespace XplorePlane.ViewModels
if (_disposed) return;
IsCameraConnected = false;
IsCameraGrabbing = false;
- CameraStatusText = "连接已断开";
+ CameraStatusText = "Connection lost";
CameraImageSource = null;
SyncCameraStateToAppState();
});
diff --git a/XplorePlane/Views/Setting/CameraSettingsWindow.xaml b/XplorePlane/Views/Setting/CameraSettingsWindow.xaml
index a0e9ddc..b4e0414 100644
--- a/XplorePlane/Views/Setting/CameraSettingsWindow.xaml
+++ b/XplorePlane/Views/Setting/CameraSettingsWindow.xaml
@@ -59,21 +59,11 @@
-
-
-
-
+
-
-
-
-
+
@@ -81,9 +71,9 @@
-
+
diff --git a/XplorePlane/Views/Setting/CameraSettingsWindow.xaml.cs b/XplorePlane/Views/Setting/CameraSettingsWindow.xaml.cs
index 338c524..b2f6537 100644
--- a/XplorePlane/Views/Setting/CameraSettingsWindow.xaml.cs
+++ b/XplorePlane/Views/Setting/CameraSettingsWindow.xaml.cs
@@ -18,9 +18,6 @@ namespace XplorePlane.Views
var type = dc.GetType();
ExecuteCommand(type, dc, "ApplyExposureCommand");
ExecuteCommand(type, dc, "ApplyGainCommand");
- ExecuteCommand(type, dc, "ApplyWidthCommand");
- ExecuteCommand(type, dc, "ApplyHeightCommand");
- ExecuteCommand(type, dc, "ApplyPixelFormatCommand");
}
private static void ExecuteCommand(System.Type type, object dc, string cmdName)
diff --git a/XplorePlane/XplorePlane.csproj b/XplorePlane/XplorePlane.csproj
index ce47455..76771ac 100644
--- a/XplorePlane/XplorePlane.csproj
+++ b/XplorePlane/XplorePlane.csproj
@@ -49,6 +49,12 @@
Libs\Native\BR.AN.PviServices.dll
True
+
+
+
+ ..\ExternalLibraries\MvCameraControl.Net.dll
+ true
+