linux ubuntu 下利用 opencv 读取 avi 视频时报错:

OpenCV(4.8.1) /home/c++/lib/opencv-4.8.1/modules/videoio/src/cap_images.cpp:267: error: (-215:Assertion failed) number < max_number in function 'icvExtractPattern'

利用下列代码查看opencv构建信息可以发现:

    std::cout << cv::getBuildInformation() << std::endl;

opencv 没有对FFMPEG的支持 

  Video I/O:
    DC1394:                      NO
    FFMPEG:                      NO
      avcodec:                   NO
      avformat:                  NO
      avutil:                    NO
      swscale:                   NO
      avresample:                NO
    GStreamer:                   NO
    v4l/v4l2:                    YES (linux/videodev2.h)

原因可能是在编译opencv时没有安装依赖,可以参考文章:在 Linux 系统中编译安装 OpenCV - 知乎 

安装下列依赖后重新编译:

sudo apt-get install -y libcurl4 build-essential pkg-config cmake 

sudo apt-get install -y libavcodec-dev libavformat-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

sudo apt-get install -y libswscale-dev libpng-dev libjpeg-dev libcanberra-gtk-module libcanberra-gtk3-module

sudo apt-get install -y libopenblas-dev libeigen3-dev libtbb-dev libgtk-3-dev

重新编译正常以后:

 

Logo

一站式 AI 云服务平台

更多推荐