OpenCV视频捕获未打开

2024-04-26 06:36:36 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

我在我的本地机器上测试了这个,果然是真的,所以我的开放式简历配置有问题。我试过很多方法:

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

我现在有点想不通了。你知道会出什么问题吗?

编辑:OpenCV版本是2.4.9。


Tags: 文件import服务器机器falseamazonubuntu方式
2条回答

我也有同样的问题,并成功地解决了。 您应该使用FFMPEG标志构建OpenCV:

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

您应该在FFMPEG部分的任何地方查看“YES”:

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

我也面临着类似的问题。可能的解决方案:

  1. 检查您是否给出了正确的路径。

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

  3. 通过pip安装的方法,
    pip install opencv-python仅安装主模块
    pip install opencv-contrib-python安装main和contrib模块(视频捕获在contrib模块中),因此使用此命令。

相关问题 更多 >