UVC 红外相机初始化流程 setup包解析

UVC 红外相机初始化流程

概述

本文档基于原始数据分析Windows Hello红外相机的UVC初始化流程。

原始数据

复制代码
intf: 0 unit: 8 cs: 9 req: "85" data: "0400"
intf: 0 unit: 8 cs: 9 req: "86" data: "03"
intf: 0 unit: 8 cs: 9 req: "82" data: "00000000"
intf: 0 unit: 8 cs: 9 req: "83" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "87" data: "00000000"
intf: 0 unit: 8 cs: 9 req: "84" data: "01000000"
intf: 0 unit: 8 cs: 9 req: "1" data: "00000000"
intf: 2 unit: 14 cs: 6 req: "85" data: "0900"
intf: 2 unit: 14 cs: 6 req: "86" data: "03"
intf: 2 unit: 14 cs: 6 req: "82" data: "00"
intf: 2 unit: 14 cs: 6 req: "83" data: "010303000000000000"
intf: 2 unit: 14 cs: 6 req: "87" data: "010301000000000000"
intf: 2 unit: 14 cs: 6 req: "84" data: "00"
intf: 2 unit: 14 cs: 6 req: "1" data: "010301000000000000"
intf: 2 unit: 14 cs: 9 req: "85" data: "0400"
intf: 2 unit: 14 cs: 9 req: "86" data: "03"
intf: 2 unit: 14 cs: 9 req: "82" data: "00000000"
intf: 2 unit: 14 cs: 9 req: "83" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "87" data: "00000000"
intf: 2 unit: 14 cs: 9 req: "84" data: "01000000"
intf: 2 unit: 14 cs: 9 req: "1" data: "00000000"
intf: 2 unit: 14 cs: 6 req: "81" data: "010301000000000000"

数据重新分析

正确的请求类型映射

  • req: "1" = SET_CUR (设置当前值)
  • req: "81" = GET_CUR (获取当前值)
  • req: "82" = GET_MIN (获取最小值)
  • req: "83" = GET_MAX (获取最大值)
  • req: "84" = GET_RES (获取分辨率)
  • req: "85" = GET_LEN (获取数据长度)
  • req: "86" = GET_INFO (获取控制信息)
  • req: "87" = GET_DEF (获取默认值)

初始化流程详细分析

阶段1: 颜色相机MSXU_CONTROL_METADATA初始化 (intf:0, unit:8, cs:9)

步骤 请求类型 数据 说明
1 GET_LEN (85) "0400" 获取数据长度(4字节)
2 GET_INFO (86) "03" 获取控制信息(可读写)
3 GET_MIN (82) "00000000" 获取最小值(0)
4 GET_MAX (83) "01000000" 获取最大值(1)
5 GET_DEF (87) "00000000" 获取默认值(0)
6 GET_RES (84) "01000000" 获取分辨率(1)
7 SET_CUR (1) "00000000" 设置当前值为0

阶段2: 红外相机MSXU_CONTROL_FACE_AUTHENTICATION初始化 (intf:2, unit:14, cs:6)

步骤 请求类型 数据 说明
8 GET_LEN (85) "0900" 获取数据长度(9字节)
9 GET_INFO (86) "03" 获取控制信息(可读写)
10 GET_MIN (82) "00" 获取最小值(0)
11 GET_MAX (83) "010303000000000000" 获取最大值{1,3,3}
12 GET_DEF (87) "010301000000000000" 获取默认值{1,3,1}
13 GET_RES (84) "00" 获取分辨率(0)
14 SET_CUR (1) "010301000000000000" 设置当前值为{1,3,1}

阶段3: 红外相机MSXU_CONTROL_METADATA初始化 (intf:2, unit:14, cs:9)

步骤 请求类型 数据 说明
15 GET_LEN (85) "0400" 获取数据长度(4字节)
16 GET_INFO (86) "03" 获取控制信息(可读写)
17 GET_MIN (82) "00000000" 获取最小值(0)
18 GET_MAX (83) "01000000" 获取最大值(1)
19 GET_DEF (87) "00000000" 获取默认值(0)
20 GET_RES (84) "01000000" 获取分辨率(1)
21 SET_CUR (1) "00000000" 设置当前值为0

阶段4: 获取人脸认证当前状态 (intf:2, unit:14, cs:6)

步骤 请求类型 数据 说明
22 GET_CUR (81) "010301000000000000" 获取当前值{1,3,1}
相关推荐
SaaS_Product4 天前
从实用性与体验角度出发,OneDrive有什么替代品
云计算·saas·onedrive
小扎仙森4 天前
关于阿里云实时语音翻译-Gummy推送WebSocket
websocket·阿里云·云计算
TangDuoduo00054 天前
【Linux SPI驱动开发】
驱动开发
The️4 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
工业相机定制与开发4 天前
短波红外相机KGSMT30GI在食品与光伏产业中的应用优势
数码相机
雪人不是菜鸡4 天前
MTF曲线图分析
数码相机
雪人不是菜鸡4 天前
镜头分辨率分析
人工智能·数码相机·计算机视觉
chencao1004 天前
相机十参数标定
数码相机
qq_526099134 天前
图像采集卡:机器视觉系统的“数据中枢”,解锁精准成像新可能
图像处理·数码相机·计算机视觉·自动化
Shacoray4 天前
OpenClaw 接入阿里云百炼 Coding Plan 指南
阿里云·ai·云计算·qwen3·openclaw·coding plan