2

我正在使用 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 在这里。

4

2 回答 2

2

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

另请参阅 OpenCV 的文档

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

于 2016-05-17T06:06:35.510 回答
1

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

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不会以这种方式工作。

于 2016-05-17T06:07:37.367 回答