python 正在阅读视频

python reading a video

我正在使用 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())

它将 return 错误。 我不知道为什么。我确定 cam.avi 在这里。

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

另见 OpenCV 的 documentation

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

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

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 这样不行。