繁体   English   中英

OpenCV VideoCapture 打不开

[英]OpenCV VideoCapture Not Opening

我正在尝试在运行 Ubuntu 14.04 的 Amazon 服务器上使用 OpenCV 的 cv2 python 绑定,但我似乎无法让 VideoCapture 正常工作。

我尝试打开默认捕获如下:

import cv2
cap = cv2.VideoCapture(0)
cap.isOpened() #Returns false

我在本地机器上对此进行了测试,结果符合预期,因此我的开放 CV 配置存在问题。 我尝试了多种方法:

  • 使用我确认的实际文件路径指向 .mp4 文件
  • 在第二行使用 -1 和 1 代替 0
  • 安装 ffmpeg(来自 ppa,因为它在 Ubuntu 14.04 上默认不可用)并重建 OpenCV
  • 完全删除我的 OpenCV 目录并使用此处的脚本重建
  • 验证和重新安装各种其他库,包括 x264、gstreamer 和 gtk

在这一点上,我有点想不通了。 关于可能出什么问题的任何想法?

编辑:OpenCV 版本是 2.4.9。

我也遇到了类似的问题。 可能的解决方案:

  1. 检查您是否提供了正确的路径。

  2. 如果您使用 pip 安装了 OpenCV,它将无法工作。 您可以删除 OpenCV 并重新安装它,查看官方文档

  3. 通过pip安装的方法,
    pip install opencv-python只安装主模块
    pip install opencv-contrib-python安装 main 和 contrib 模块,所以使用这个命令。

我遇到了同样的问题并成功解决。 您应该使用 WITH_FFMPEG 标志构建 OpenCV:

cmake .. -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_GTK=ON -DWITH_FFMPEG=1 

您应该在 FFMPEG 部分中到处查看“是”:

Video I/O:
--     DC1394 1.x:                  NO
--     DC1394 2.x:                  YES (ver 2.2.5)
--     FFMPEG:                      YES
--       avcodec:                   YES (ver 57.107.100)
--       avformat:                  YES (ver 57.83.100)
--       avutil:                    YES (ver 55.78.100)
--       swscale:                   YES (ver 4.8.100)
--       avresample:                YES (ver 3.7.0)
--     GStreamer:                   NO
--     OpenNI:                      NO
--     OpenNI PrimeSensor Modules:  NO
--     PvAPI:                       NO
--     GigEVisionSDK:               NO
--     UniCap:                      NO
--     UniCap ucil:                 NO
--     V4L/V4L2:                    NO/YES
--     XIMEA:                       NO
--     Xine:                        NO

如果您看不到它,则需要通过 apt 安装下一个软件包(如果您使用的是 Debian 或 Ubuntu Linux):

sudo apt-get install libav-tools libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libx264-dev

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM