为什么我不能使用 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.dll
到 base location(C:\Python27)
甚至
名为 DLLs(C:\Python27\DLLs)
的文件夹,但没有任何作用。
这是因为您的代码没有找到该视频。请确保您的视频与您的源代码位于同一目录中,或者为其指定一个绝对路径。
对于路径,最好使用可以为您处理路径修改的专用模块,例如 https://docs.python.org/3/library/pathlib.html。
我正在用 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.dll
到 base location(C:\Python27)
甚至
名为 DLLs(C:\Python27\DLLs)
的文件夹,但没有任何作用。
这是因为您的代码没有找到该视频。请确保您的视频与您的源代码位于同一目录中,或者为其指定一个绝对路径。
对于路径,最好使用可以为您处理路径修改的专用模块,例如 https://docs.python.org/3/library/pathlib.html。