没有太多的工作,这就是为什么标题如此“模糊”。我第一次尝试使用 cv2 来完成我工作中需要的一些任务,但第一次尝试失败了,所以我最终只测试了基本的代码片段。其中,似乎根本不起作用。
import cv2
cap = cv2.VideoCapture("GoneNutty.avi")
while True:
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame', gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
Frame,是一个 None 值。代码失败。当我尝试使用 PyCharm IDE 调试模式来检查它的“内容”时,即使是 cap 对象,基本上也没什么。
到目前为止我尝试了什么
- 视频绝对有效,正常播放
- 尝试输入直接路径
- os.getcwd() 给出与视频相同的目录
- 尝试了不同格式的不同视频(avi、mp4)
- 以各种方式重新安装了 cv2 几次(因为我疯狂地试图解决问题,所以有点杂乱无章)
- 使用 cap.read("file") 选项无济于事
- 打印(cv2.版本)>> 3.3.0
潜在线索
就调试而言,它是一场噩梦,因为我得到的有用信息为零,因为代码不会抛出错误,直到它对 Frame 执行操作,该操作为 None。
PyCharm IDE 说 cv2.VideoCapture 有一个意外的参数。更何况,我不知道发生了什么。
我在重新安装时尝试了很多东西,它似乎返回的版本是正确的,但我不知道检查安装是否正确的方法。
关于我的系统的信息
我正在运行 Ubuntu 14.04 (Trusty)。
Python3 - 其他东西有效
PyCharm 2017
如果我应该提供更多信息,请告诉我?另外,如果您对如何改进标题有任何建议,请告诉我更多信息。