简单来说,就是通过一些方法让软件读取到我们自己的UVC相机,其实就是安装驱动。
第一步是建立安装环境:
先安装一个虚拟环境
我们选择第一个作为开发主体
确认目前在虚拟环境下
最新的VSCode也可以自动地切换环境
有很多的分支
注意主要使用clone来下载整个库:
代码语言:javascript复制cd pupil_src
python main.py capture # or player/service
报错是吧?没关系,都可以开发了,那就让我们调试
可以看到是找不到默认的设备,没关系的
GUI不是最好的,我们去看终端。
明显看到在每次开启开发环境都有驱动安装过程
可以看到确定安装默认每次开启
使用自打包文件来安装
默认是安装了一些相机的,但是没有俺的
所有的秘密都在这里
可视化的一部分是使用OpenGL搞得
打包成功是这样的
是支持这些相机流进行追踪的
这里就简单的学习了一下UVC这些东西,然后这里就偷偷摸摸的使用了一些魔法方法,打上了我自己相机的驱动。
想想还是很美
这个就是相机的VID和UID了
代码语言:javascript复制OPT: VID number 3141:这表明设备的厂商ID为3141,对应十六进制为0x0C45。
OPT: PID number 25446:这表示设备的产品ID为25446,对应十六进制为0x6366。
libwdi:info [extract_binaries] successfully extracted driver files to win_drv:驱动文件成功提取到了名为win_drv的目录中。
libwdi:info [wdi_prepare_driver] successfully created 'win_drvcam_dev.inf':成功创建了名为cam_dev.inf的驱动程序信息文件。
libwdi:info [wdi_prepare_driver] Creating and self-signing a .cat file...:正在创建并自签名一个.cat文件。
libwdi:info [ScanDirAndHash] added hash for ...:对指定路径下的文件进行了哈希计算,并将哈希值添加到.cat文件中。
libwdi:info [CreateCat] successfully created file 'win_drvcam_dev.cat':成功创建了名为cam_dev.cat的.cat文件。
libwdi:info [CreateSelfSignedCert] created new self-signed certificate 'CN=USBVID_0C45&PID_6366 (libwdi autogenerated)':成功创建了一个新的自签名证书。
libwdi:info [SelfSignFile] added certificate ...:将证书添加到了'Root'和'TrustedPublisher'存储中。
libwdi:info [SelfSignFile] successfully signed file 'win_drvcam_dev.cat':成功对cam_dev.cat文件进行了签名。
libwdi:info [SelfSignFile] successfully deleted private key:成功删除了私钥。
这些步骤描述了从驱动文件提取到自签名证书签名的全过程。
现在已经是变成了Pupil Labs的专有硬件了。
驱动是使用的libusbk实现的
哈哈哈哈,变成了我自己的相机
Sonix这个相机已经从6636到我的yunwj了
通过日志看是成功的
在软件里面已经可以读取到了,是以世界相机出现的
成功,接下来就看看眼动相机的注入
其实也是成功的,需要微调和内参标定
但是注意,这样一来基本上相机就不算通用相机了,是专有的相机了。
哈哈哈,超可爱睡衣
代码语言:javascript复制https://www.ideasonboard.org/uvc/
代码语言:javascript复制https://www.pc6.com/softview/SoftView_104530.html