美文网首页
(Opencv 3.4.1) Assertion failed

(Opencv 3.4.1) Assertion failed

作者: 卖西瓜的西瓜皮 | 来源:发表于2018-04-12 09:39 被阅读0次

    当我在Opencv3.4.1下执行曾经在opencv3.1.0下撰写的程序之后,报错如下

    Unexpected list type. Expected: hdrl. Got: movi.
    OpenCV(3.4.1) Error: Assertion failed (chunk.m_size <= 0xFFFF) in readFrame, file /tmp/opencv-20180307-60086-ryy1b3/opencv-3.4.1/modules/videoio/src/container_avi.cpp, line 514
    libc++abi.dylib: terminating with uncaught exception of type cv::Exception: OpenCV(3.4.1) /tmp/opencv-20180307-60086-ryy1b3/opencv-3.4.1/modules/videoio/src/container_avi.cpp:514: error: (-215) chunk.m_size <= 0xFFFF in function readFrame
    

    开始假设了好多原因,可能是我在Mac上编译,没有可识别avi格式的解码工具,后来测试发现,是因为视频太大导致的,单帧图像太大。因为不知道怎么解决,在网上求助,没有什么好的结果,后来在GitHub 上找到了相关的issue
    issue#11126

    之前是使用brew在Mac上安装的opencv3.4.1,没有源码,于是卸载掉opencv3.4.1,然后下载源码,采用cmakeGUI进行编译,网上有教程,编译之前注释掉container_avi.cpp里面的:

    CV_Assert(chunk.m_size <= 0xFFFF)
    

    之后Clion完美运行程序。

    至于这个异常语句的原因,应该是opencv版本新加的,是为了限制memory的使用,不过如果正常跑视频,忽略掉应该也是可以满足需求的,不会影响大体。

    在此感谢Github上各位给的解决办法。

    相关文章

      网友评论

          本文标题:(Opencv 3.4.1) Assertion failed

          本文链接:https://www.haomeiwen.com/subject/xbpucftx.html