0

没有太多的工作,这就是为什么标题如此“模糊”。我第一次尝试使用 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 对象,基本上也没什么。

到目前为止我尝试了什么

  1. 视频绝对有效,正常播放
  2. 尝试输入直接路径
  3. os.getcwd() 给出与视频相同的目录
  4. 尝试了不同格式的不同视频(avi、mp4)
  5. 以各种方式重新安装了 cv2 几次(因为我疯狂地试图解决问题,所以有点杂乱无章)
  6. 使用 cap.read("file") 选项无济于事
  7. 打印(cv2.版本)>> 3.3.0

潜在线索

就调试而言,它是一场噩梦,因为我得到的有用信息为零,因为代码不会抛出错误,直到它对 Frame 执行操作,该操作为 None。

PyCharm IDE 说 cv2.VideoCapture 有一个意外的参数。更何况,我不知道发生了什么。

我在重新安装时尝试了很多东西,它似乎返回的版本是正确的,但我不知道检查安装是否正确的方法。

关于我的系统的信息

我正在运行 Ubuntu 14.04 (Trusty)。

Python3 - 其他东西有效

PyCharm 2017

如果我应该提供更多信息,请告诉我?另外,如果您对如何改进标题有任何建议,请告诉我更多信息。

4

1 回答 1

0

你安装了ffmpeg吗?如果你没有 ffmpeg,你就不能在 linux 中加载视频。

于 2017-09-04T09:44:53.470 回答