• 视频动态库测试及心得


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

    需求:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    C# 网络斗地主源码开源
    windows 10
    JAVA Eclipse Incorrect line ending found carriage return 怎么办
    JAVA Eclipse中如何简易的实现消息机制
    JAVA Eclipse中的Android程序如何使用线程
    JAVA Eclipse如何重新设置工作空间workspace
    JAVA Eclipse如何重命名包
    JAVA Eclipse如何修改Android程序名称
    JAVA Eclipse如何设置编程环境字体
    JAVA Eclipse如何设置点击按钮切换图片
  • 原文地址:https://www.cnblogs.com/zCoderJoy/p/3916243.html
Copyright © 2020-2023  润新知