【问题标题】:Can not Read or Play a Video in OpenCV+Python using VideoCapture无法使用 VideoCapture 在 OpenCV+Python 中读取或播放视频
【发布时间】:2016-05-16 12:39:16
【问题描述】:
import cv2
import numpy as np

cap = cv2.VideoCapture('traffic.avi')

retval, frame = cap.read()

print retval

================ RESTART: J:\Python For DIP\traffic_video.py ================
False
>>> 

retval 的值始终为 False,表示该命令不读取视频。读取帧必须为 True。我不知道该怎么办。但是,当我使用我的默认网络摄像头时,它变成了 True。我尝试了很多视频,但出现了同样的问题。注意:我已经正确安装了ffmpeg。

注意:这不是完整的代码,在这一步中我只验证 cap.read() 是真还是假

【问题讨论】:

    标签: python-2.7 opencv video-capture video-processing


    【解决方案1】:

    查找 Python 的根目录可能有点棘手。我正在使用 Enthought 发行版,起初,我将 opencv_ffmpeg 文件粘贴到了错误的 Python 目录中。

    错误:

    C:\Users\USERNAME\AppData\Local\Programs\Python\Python35-32
    

    右:

    C:\Users\USERNAME\AppData\Local\Enthought\Canopy\User
    

    长话短说,确保找到正确的 Python 目录。

    【讨论】:

      【解决方案2】:

      这种方法100%保证

      首先检查您的 OpenCV 版本,例如 2.4.11。您可以通过在 Python Shell 中键入以下命令来检查它:

      >>> from cv2 import __version__
      >>> __version__
      '2.4.11'
      >>> 
      

      然后转到C:\opencv\build\x86\vc12\bin 并复制opencv_ffmpeg2411.dll。 最后进入 Python ex 的根目录:C:\Python27 并在其中粘贴opencv_ffmpeg2411.dll

      查看文件opencv_ffmpeg2411.dll的名称,是否版本 opencv的是否写,如果没有,请执行以下操作 opencv_ffmpeg(不带点的opencv版本).dll

      然后创建一个新的 Python 文件并复制此代码并粘贴它以加载您自己的视频

      import numpy as np
      import cv2
      
      # Capture video from file
      cap = cv2.VideoCapture('your video')
      
      while True:
      
          ret, frame = cap.read()
      
          if ret == True:
      
              gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
      
              cv2.imshow('frame',gray)
      
      
              if cv2.waitKey(30) & 0xFF == ord('q'):
                  break
      
          else:
              break
      
      cap.release()
      cv2.destroyAllWindows()
      

      您将有一个输出视频,例如: Result

      【讨论】:

      • 当其他一切都失败时,这对我有用! (我听了网上的一些建议,安装了 ffmpeg、gstreamer 和 Visual Studio 库,但都没有工作。)感谢您终于解决了我的问题。
      • Linux 怎么样?有没有类似的尝试?我发现的其他建议都没有奏效
      • 谢谢。你有时间回答 WuerfelDev 的问题吗?
      • 我尝试了很多,但没有任何效果。最后,我完全擦除了 Ubuntu 17.04 并安装了 Ubuntu 17.10。在新系统上安装后,它工作正常
      • 它仍然没有解决使用 Python Notebooks 的问题。但我改用 PyCharm。
      猜你喜欢
      • 1970-01-01
      • 2013-04-28
      • 2014-04-30
      • 2020-02-12
      • 1970-01-01
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      相关资源
      最近更新 更多