Opencv videocaputre: Microsoft C++ 异常:cv::Exception

Opencv videocaputre: Microsoft C++ 异常:cv::Exception

opencv videoCapture data = 屯屯屯屯屯屯屯屯屯

最近在测试STAPLE算法和DSST算法对于我的测试集的跟踪效果,在换了几个视频测试之后突然发现在程序运行过程中没有问题,但是运行到最后会抛出异常。
Opencv videocaputre: Microsoft C++ 异常:cv::Exception_第1张图片
并且我竟然在data的值中发现了好久好久以前一个写python的老大哥跟我说过的屯屯屯屯屯,最开始我还以为这个是形容喝水的声音… 吨吨吨吨吨,但是终于,这个问题砸到了我的头上。不过面对这种有意思的问题,我几乎是不会放过的,记得当时跟老大哥请教过,老大哥说这是因为内存中的某一块没有初始化才形成的屯屯屯屯屯… 但是我真的是学渣…碰见什么内存或者时间空间复杂度的时候,就完全傻*了…这里呢我尝试了几个解决办法:

  1. 环境配置 :既然要写C++,under the Visual Studio 的环境下…你就要做好心理准备…(这里怀念我的python three thousand time)…环境配置,建议使用简单的opencv demo进行测试,能跑通就ok…这个很复杂… 最好有人指导或者照着书一步一步走…;
  2. 路径配置:第二个奇葩的地方…就是正常从导航栏复制过来的路径是不可以的…e.g.D:\STAPLE-master\bin\sample.avi… However… wrong wrong wrong and I don’t know why… and now, miss my python three thousand times again… The correct way to present the video url in your computer is following: 在这里插入图片描述
    至今不清楚为什么在C++中非要多一个斜杠…可能两道杠大队长比较牛逼…(请大神看见这个问题…能为我解答一下… I’m significantly appreciate it.
  3. 图片/视频格式
    这个吧… 我是在碰见这个问题后一顿百度,百度到的…虽然我没有这个问题…但是为了防止大家碰见这个问题无从下手…所以整理了一下…这里让我们reference一下提出这个问题的blog主(APAreference)
    [1] beachboy1992. 2017. opencv常见问题(1)Microsoft C++ 异常:cv::Exception. Retrieved from https://blog.csdn.net/u011600477/article/details/74002429
    有的时候为了方便在程序中引用图片名以及路径…我们通常会重命名一些测试视频或者图片名…这个时候就会出现一个问题…如果你的电脑隐藏了文件格式…然而你不知道…你又加上了文件格式…这就会很尴尬…你的图片变成了1.png.png… 这个时候也会出现问题…
  4. 测试视频帧数问题
    这个问题是我遇到的问题…因为我的程序可以运行,但是往往运行到最后几帧出现问题… 抛出异常…所以我的指导老师让我看看测试的视频有没有问题…结果发现…果然有问题… 测试的视频最后几帧往往是空针…这个就得怪现场进行视频采集的人了…这多耽误事…
    这个时候我们Debug一下就会发现问题…
    如果运行到后面几帧,显示的帧数为null,这就是视频本身的问题了,为了解决这个办法也好说…往往我们读取视频的操作都是for或者while循环,当然因为STAPLE算法中本来用的for循环来循环数据集中的图片,这里我们并没有对他进行改变,只是在这个基础上进行操作。
    我们只需要在for循环中添加两段代码就可以解决这个问题:
    Opencv videocaputre: Microsoft C++ 异常:cv::Exception_第2张图片
    是这样的…判断一下如果frame为空…就跳出…
    哈哈哈哈哈哈哈哈哈哈哈

我对STAPLE算法进行了一些改变,让他可以同时追踪六个区域,虽然在同一个进程中操作会很大成都影响fps值,但是呢我觉得如果使用多线程,凭借STAPLE算法的效率,应该可以…

你可能感兴趣的:(OPENCV)