【问题标题】:python reading a videopython阅读视频
【发布时间】:2016-09-13 02:07:07
【问题描述】:

我正在使用 Python 2.7.11 和 OpenCV 2.4.9。我无法使用 cv2.imread() 或 cv2.VideoCapture() 读取视频。

import cv2

cap = cv2.VideoCapture('cam.avi')
print ("open  = ",cap.isOpened())

import cv2

cap = cv2.imread('cam.avi')
print ("open  = ",cap.isOpened())

它会返回假。 我不知道为什么。我确定 cam.avi 在这里。

【问题讨论】:

    标签: python opencv video imread


    【解决方案1】:

    imread()不支持直接读取视频文件。

    另请参阅 OpenCV 的 documentation

    如果您想使用imread 阅读视频,您首先必须将其转换为单个图像,或者通过一个单独的程序(想到ffmpeg)或使用 OpenCV 并将图像存储在内存中。

    【讨论】:

      【解决方案2】:

      尝试提供视频的完整路径,例如:

      import cv2
      
      cap = cv2.VideoCapture(r'C:\Users\e01069\Downloads\drop.avi')
      print ("open  = ",cap.isOpened())
      

      如果您在同一个文件中运行以下命令,您就会知道 python 正在某个不同的位置寻找您的文件。

      import os
      print os.path.abspath(__file__)  #this is your current working directory
      

      注意:.imread 不会这样工作。

      【讨论】:

      • cap.isOpened() = False 我尝试读取它 ret, frame = video_capture.read() print frame 它返回 NULL
      • video_capture = cv2.VideoCapture("C:\Users\user\Desktop\cam.mp4") print ("open = ",video_capture.isOpened()) ret, frame = video_capture.read( ) 打印框架
      • 你错过了一点 r 我在代码中的路径之前提到的。请检查代码。
      • 必须与你的路径有关,它在这里对我来说工作得很好。
      猜你喜欢
      • 2018-03-29
      • 1970-01-01
      • 2013-01-27
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      • 1970-01-01
      • 2014-04-20
      相关资源
      最近更新 更多