为什么我不能使用 openCV 3 和 python2.7 阅读任何视频?

why can't i read any video with openCV 3 and python2.7?

我正在用 Python 编写 OpenCV。我不知道如何阅读带有 cv2.VideoCapture() 的视频。

它在我的网络摄像头上工作正常,但是 return 当我 运行 下面的代码时没有任何错误消息:

import numpy as np
import cv2
cap = cv2.VideoCapture('vtest.avi')
while(cap.isOpened()):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

我解决这个问题的方法是:

1.used cap = cv2.VideoCapture("C:\vtest.avi")(什么都没发生)

2.copied opencv_ffmpeg_64.dllbase location(C:\Python27) 甚至
名为 DLLs(C:\Python27\DLLs) 的文件夹,但没有任何作用。

这是因为您的代码没有找到该视频。请确保您的视频与您的源代码位于同一目录中,或者为其指定一个绝对路径。

对于路径,最好使用可以为您处理路径修改的专用模块,例如 https://docs.python.org/3/library/pathlib.html