onvif协议框架搭建

本文详述了如何在Ubuntu 12.04上搭建ONVIF协议框架,利用gSOAP工具从wsdl文档生成C/C++代码,以实现与IPC(网络摄像头)的通信。介绍了安装bison、flex、openssl、gsoap等前置软件的过程,并解决遇到的动态库、认证及编译错误等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

离职了,在准备上学还有一大段时间,前些日子由于工作需要,公司要求用海康的网络摄像头做出客户端程序,采集视频,并在LCD上显示出视频,故研究onvif协议,,现将心得写出。

开发环境:

本次搭建onvif框架采用的是周立功官网发布的Ubuntu 64位版本。版本为12.04.参考教程为许振坪的专栏

名词的个人理解:

Onvif是一种全球通用的、开放的、标准的接口,使用这个接口来获取网络摄像头的各种参数或音视频流,服务端与客户端的数据交互采用SOAP协议,音视频流则采用RTP/RTSP进行,其接口是web services形式。

Gsoap工具将wsdl文档生成c或c++代码,从而生成webservice客户端。

Web services服务可以提供各种远程调用的接口函数。

网络摄像头:IPC

这样,如图1所示,我们就将采用gsoap工具来生成onvif的框架代码,自己只专注于客户端的应用开发,然后其中调用的函数通过gsoap工具生成的框架代码转变成web services形式,再发送给IPC。反过来,IPC发给客户端的数据是web service形式,通过框架直接转变为各种接口函数。这样大大较少中间过程的开发。

### 解决 PP-OCRv4 出现的错误 当遇到 `WARNING: The pretrained params backbone.blocks2.0.dw_conv.lab.scale not in model` 这样的警告时,这通常意味着预训练模型中的某些参数未能匹配到当前配置下的模型结构中[^2]。 对于此问题的一个有效解决方案是采用特定配置文件来适配预训练权重。具体操作方法如下: 通过指定配置文件 `ch_PP-OCRv4_det_student.yml` 并利用已有的最佳精度预训练模型 (`best_accuracy`) 来启动训练过程可以绕过上述不兼容的问题。执行命令如下所示: ```bash python3 tools/train.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml ``` 该方案不仅解决了参数缺失带来的警告,还能够继续基于高质量的预训练成果进行微调,从而提升最终检测效果。 关于蒸馏的概念,在机器学习领域内指的是将大型复杂网络(teacher 模型)的知识迁移到小型简单网络(student 模型)。这里 student 和 teacher 的关系是指两个不同规模或架构的神经网络之间的指导与被指导的关系;其中 teacher 已经经过充分训练并具有良好的性能,而 student 则试图模仿前者的行为模式以达到相似的效果但保持更高效的计算特性。 至于提到的 `Traceback` 错误信息部分,由于未提供具体的跟踪堆栈详情,难以给出针对性建议。不过一般而言,这类报错往往涉及代码逻辑错误或是环境配置不当等问题。为了更好地帮助定位和解决问题,推荐记录完整的异常日志,并仔细检查最近修改过的代码片段以及确认依赖库版本的一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值