PTZ功能即缩放(Z),左右移动(P)和上下移动(T)功能,定义在相机终端描述符里面(Camera Terminal Descriptor ),如下图为终端描述符。

从描述符中可以知道,PTZ通过bmControls来控制,PTZ对应的是D9-D12,这里我们选择绝对控制,这里我觉得绝对控制好处理一点,不用记录上一次状态。所有我们只要在描述符中把D9和D11置为1即可。

描述符打开之后就可以接收到上层应用请求了。Z对应CT_ZOOM_ABSOLUTE_CONTROL,PT对应CT_PANTILT_ABSOLUTE_CONTROL

ZOOM必须要实现 GET_CU R, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF请求,这里我们需要进行控制的话,还得支持SET_CUR。需要注意的是处理GET_INFO请求的时候返回的数据一定要正确,如不正确可能会接收不到UVC命令。GET_INFO请求值定义如下,一般我们支持GET和SET,GET_INFO的时候返回一个3就行了。

PT必须要支持GET_CUR, GET_MIN, GET_MAX, GET_RES, GET_INFO, GET_DEF请求,同理我们要能控制还得支持SET_CUR请求。

最近在给模块端添加这个功能的时候折腾了一段时间,zoom功能主要根据SET_CUR请求值对画面做相应处理就好,这里说下PT功能,PT功能需要注意下面几个点:
1.PT功能命令的数据长度为8个字节,低4字节为P(左右移动)数据,高4字节为T(上下移动)数据
2.数据以3600为单位,比如你想设置的移动范围为-10-10,那么实际返回给上层的值应该是-36000-36000。
3.PT两个功能对应一个指令,所以同一个请求实际上是请求两个功能数据,如处理GET_MAX请求时,我们需要把P功能的最大值放到低4字节,把T功能的最大值放到高4字节。
4.接收SET_CUR指令时需要区分是设置P、设置T还是PT都设置,当设置P时,高四个字节全是0,当设置T时,低4个字节全是0,其他值PT都设置。

我实现这两个功能的算法思路就是在每一帧图像中根据设置的PTZ值裁剪出一个框进行resize。

关于UVC PTZ功能相关推荐

  1. 海康摄像机3D PTZ功能,拍照功能

    技术交流qq群933925017 海康摄像机3D PTZ功能 1.海康界面自带的框选自动居中缩小/放大功能 2.核心代码 /** 该结构体中的坐标值与当前预览显示框的大小有关,现假设预览显示框为352 ...

  2. HI3518EV300配置成USB摄像头 既UVC/UAC功能

    现在用的是3518EV300,SDK版本是LINUX版本的Hi3516E V200R001C01SPC011,不过在开发过程中发现这个版本没有UVC配置的相关文档说明,UVC摄像头是有人已经做出来的, ...

  3. GB28181系列笔记-语音对讲功能

    GB28181系列笔记-注册与保活 GB28181系列笔记-设备目录查询 GB28181系列笔记-实时流请求 GB28181系列笔记-历史流查询与请求 GB28181系列笔记-语音对讲功能 GB281 ...

  4. UVC(USB Video Class)协议讲解

    1. UVC功能概述 UVC设备都是多Interface设备,这点同普通的u盘不同.UVC设备最起码有两个Interface,VideoControl(VC)Interface和VideoStream ...

  5. Onvif的PTZ控制

    PTZ服务用于控制视频编码设备的云台全方位(上下.左右)移动及镜头变倍.变焦控制.PTZ服务的WSDL应用详见PTZ WSDL文件. PTZ控制原则遵循媒体配置模式 主要由三部分组成: PTZ Nod ...

  6. ONVIF协议云台服务规范(三)-移动操作 ONVIF PTZ Service Specification-Move Operations

    5.3    移动操作 本节介绍三种移动PTZ单元操作,绝对.相对或移动.所有操作都需要profile token,引用PTZ配置中的Media Profile. 所有移动命令应以非阻塞方式执行,表示 ...

  7. ONVIF协议云台服务规范(二) ONVIF PTZ Service Specification

    5.服务   5.1PTZ节点       5.1.1常规 支持PTZ的设备可以有多个PTZ节点.PTZ节点可以表示机械PTZ驱动器.上传的云台驱动程序或数字云台驱动程序.PTZ节点是PTZ控制API ...

  8. Linux学习之ROS的uvc camera(笔记本的摄像头)

    相机相当于机器人的眼睛.从相机获得的图像对于识别机器人周围的环境非常有用. 例如,利用相机图像的对象识别和脸部识别:使用两台相机(立体相机)从两个不同图像 之间的差异获得的距离值:利用距离值生成3维地 ...

  9. 关于智能相机的一些测试功能点的专有名字解释~

    我把功能点分为了音频.视频.网络.接口以及PTZ功能这几个模块,注意智能相机还有许多其他的模块哦~因为下面这些专有名词都是自己不太懂的~ 音频: G.711是一种由国际电信联盟(ITU-T)订定音频编 ...

  10. (十二) 完整注释的代码摘录

    title: 完整注释的代码摘录 date: 2019/4/23 20:40:00 toc: true --- 完整注释的代码摘录 作者网页 #include <linux/kernel.h&g ...

最新文章

  1. ROS、realsense开发常用命令汇总
  2. 计算机科学和Python编程导论(一) 计算机相关理论
  3. 关于linux内核的wait等待事件和wakeup的核心原理
  4. python 多进程共享类实例demo
  5. 为什么有这个提示“Escape character is '^]'.”?(转载)
  6. C/C++快速读写磁盘数据的方法-块读取/异步/优化分析算法/内存文件映射的原理和使用
  7. 针对多类型数据库,集群数据库的有序GUID
  8. 古典密码算法 java_古典密码算法的实现
  9. 【图像修复】基于matlab GUI约束最小二乘方滤波图像复原【含Matlab源码 852期】
  10. idefo功能模型图_如何画架构图?
  11. 酷狗、QQ音乐歌词转换工具
  12. 陕西车牌顺口溜~~~~~~~~~~~
  13. MySQL 面试知识点 汇总
  14. python依照概率抽样_统计概率思维之总体与抽样
  15. MySQL数据库、表常用命令
  16. 安卓手机全局背景美化教程
  17. 苹果:封闭为王、小众立场和技术嗅觉
  18. 快手程序员爆料:有大厂背书就是好,这就是光环效应
  19. OPENWRT MWAN3 负载均衡验证
  20. CY68013 FPGA通信联调总结

热门文章

  1. 聚合物-化学键-聚合物PEG-Hyd-PDLLA /PLA-PHis-hyd-PEG/PEG-PUSeSe-PEG
  2. 保送北大,连发三篇Science,这位80后川妹子近日再发重磅级研究成果!
  3. 扫码点餐系统可以免费使用了
  4. 苹果发布会总结:Mac 三产品线更新自研 M1 芯片,尝鲜只要 5299 元
  5. 289714-02-9,Biotin-PEG3-alcohol,Biotin-PEG3-OH含有一个生物素基团和一个与多种官能团反应的末端伯羟基
  6. 【Redis】《Redis 开发与运维》笔记-汇总
  7. html按钮 字 颜色代码,html中按钮的字体颜色怎么设置?
  8. 【文末下载PPT】李中文:软件成分安全分析(SCA)能力的建设与演进
  9. linux 重命名文件夹
  10. 通过jquery读cookie添加xsrf HTTP头来避免请求伪造