我正在使用Python 2.7.11和OpenCV 2.4.9。我无法使用cv2.imread()或cv2.VideoCapture()来阅读视频。
import cv2
cap = cv2.VideoCapture('cam.avi')
print ("open = ",cap.isOpened())
OR
import cv2
cap = cv2.imread('cam.avi')
print ("open = ",cap.isOpened())
它将返回false。 我不知道为什么。我确信cam.avi就在这里。
答案 0 :(得分:2)
imread()
不支持直接从视频文件中读取。
另请参阅OpenCV的documentation。
如果您想要使用imread
阅读视频,首先必须将其转换为单张图片,或者通过一个serperate程序(ffmpeg
想到)或使用OpenCV并将图像存储到存储器中。
答案 1 :(得分: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
不会以这种方式工作。