这几天一直在弄动态库测试,h给的写好的动态库--预处理模块的库。视频处理项目一部分,需要连接实际情况测试。

需求:

  1.把实际相机连接到,并读取实时数据流,保存到双循环链表里面;

  2.测试背景建模的功能效果;

  3.预处理四个数据(图像)显示结果;

  4.测试实时处理多摄像头效果显示。

  前几天一直写摄像头数据接受模块,写的还算顺利,因为之前做过的项目自己写过DVR多通道的接受数据,而且还单独另写了读取网络摄像头的实时数据,所以一天搞定了,并显示原始图像正常。

  由于h给了接口文档说明,直接调用了动态库,update更新背景接口,测试用opencv显示没有多大问题,继续测试预处理模块、显示,也花了一天的时间,晚上因为搞定了,第二天连续写了双通道显示,也显示正常,不过下午发现了一个严重的错误,运行一段时间程序就崩溃了,郁闷了好几天,测试了好多办法,这个也是在测试程序中最头痛的事情。最终发现时因为memcpy函数接受目标和源数据大小不一致造成的,最主要原因应该是设备传输大小图像帧变化了,不知道什么原因,(猜测可能是海康DVR和不是海康摄像头兼容问题)。后面又遇到中断,是因为可能同时删除了两次,线程同步问题,加了锁,没了问题,不过后来我使用了拷贝构造函数,也没有问题。

测试程序发现问题及总结:

  1. 首先要对你写的程序的功能要理解,知道你测试的代码的实现什么要求的;

  2.分析你代码里面有几个类及结构,了解大致功能及接口实现,逻辑结构;

  3.要分段测试,分模块检测,不然很麻烦;

  4.程序指针很麻烦,要清楚自己那些指针是干嘛的,特别类之间的传递,记录好,不然释放会导致你想不到的错误,调试半天没有结果;

  5.初始化问题要引起注意,不然类似4一样的郁闷;

  6.IDE提示很重要,不要舍弃每一个错误中断信息,可能就是要修改的地方,我的就是这个原因,之前没注意vs的中断提示错误,郁闷半天,实在没办法检查了vs中断错误,果然就是那个原因;

  7.最后,心态很重要,千万不要心浮气躁,慢慢来,相信会解决的,实在想不出出去散散心,回头可能想出来了。

  笔者在此测试库心得共勉一下,谢谢。

转载于:https://www.cnblogs.com/zCoderJoy/p/3916243.html

视频动态库测试及心得相关推荐

  1. C++静态库与动态库

    C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...

  2. c++静态库和动态库

    C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...

  3. C++静态库与动态库(转)

    预处理阶段:预处理器根据以字符#开头的命令,修改原始的C程序,将源代码插入到程序文本中,得到另一个C程序,通常以.i作为文件扩展名 编译阶段:编译器ccl将文本文件hello.i翻译成文本文件hell ...

  4. C++静态库与动态库的区别?

    C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...

  5. x64 编译 静态链接_C++静态库与动态库

    这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书<程序员的自 ...

  6. 使用VS2019开发调试Android动态库

    1. 环境准备 1.1 安装JDK:jdk1.8.0_112 1.2 安装Android SDK SDK可以安装指定的platforms和ndk-bundle.为了兼容性考虑,单独安装了版本比较老的a ...

  7. C++静态库与动态库详解与使用

    福利 | 百度 AI 开发者大会免费门票领取    CSDN日报20170628--<实习,背后的选择?>    [直播]探究Linux的总线.设备.驱动模型! C++静态库与动态库详解与 ...

  8. android ndk 动态库_百度经验,android ndk 动态库

    android ndk开发经常遇到了动态库的问题,本文主要介绍: ① 动态链接库的生成: ② 在Java和C混合编程的情况下如何调用第三方动态链接库: ③ 通过jar包的方式间接调用第三方动态链接库: ...

  9. 一篇文章教你理解什么是静态库和动态库

    https://www.cnblogs.com/skynet/p/3372855.htm C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使 ...

最新文章

  1. java 文件夹删除_java创建删除文件及文件夹大全
  2. 系统架构设计师难吗?IT行业员工的最高荣耀是什么
  3. Oracle10g的flashback drop
  4. 一个超赞又好用的PHP技巧!如何生成PHP扩展的类手册
  5. 高速信号传输约翰逊 pdf_高速串口技术如何突破板级连接限制
  6. xlib/x11:创建一个监测键盘事件的窗口-3-fullscreen-windowed
  7. python 类变量和实例变量
  8. android悬浮窗语音识别demo
  9. 深度学习自学(三十六):有效提升图像分类噪声鲁棒性的小波卷积网络
  10. studio创建java工程_Android studio从头一步步创建Java项目
  11. BW作为源系统连接时,激活DSO或其他模型时提示8*数据源不存在,无法激活
  12. Keil5安装NXP核心LPX2000系列 出现err:Cannot read project file异常,err :出现闪退异常
  13. 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。
  14. 因果推断学习笔记三——Uplift模型
  15. 移动端H5页面设计知识
  16. 商场导航反向寻车方案及造价分析
  17. 用计算机做路由器,用笔记本做无线路由(笔记本电脑当无线路由器用怎么设置)...
  18. 帆软数据分析:BI物流可视化
  19. Ls-Dyna对预应力钢筋混凝土结构的抗爆模拟
  20. 最新大学英语四级词汇表 A

热门文章

  1. Redis sorted_set实现点赞功能
  2. JAVA中如何确保N个线程可以访问N个资源,但同时又不导致死锁?
  3. mybatis架构流程
  4. 【客户下单】前端系统Action数据封装
  5. php submit 不要刷新,php实现保存submit内容之后禁止刷新
  6. modeler java堆空间,JVM|02内存模型
  7. 微信红包数字变化动态图片_11.11早安暖心祝福动态图片 微信朋友圈早晨问候语...
  8. python中文件路径格式_Python应用-临床路径格式转换
  9. 2.2.3 C语言中的整数类型及类型转换(为什么强制类型转换值发生改变?带你从机器码的角度分析)
  10. android自定义组件属性,android自定义控件并添加属性的方法以及示例