【问题标题】:playing video file using python opencv使用 python opencv 播放视频文件
【发布时间】:2020-03-17 23:57:43
【问题描述】:

我正在尝试使用 python opencv 播放视频文件,这是我的代码,但是当我运行代码时它没有显示 vidfeo 文件

import numpy as np
import cv2

cap = capture =cv2.VideoCapture('C2.mp4')
while(cap.isOpened()):
    ret, frame = cap.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame',gray)
    cv2.waitKey(1)

cap.release()
cv2.destroyAllWindows()

我在link 中尝试了答案,但没有再次工作

【问题讨论】:

  • 为什么cap = capture = .... ?你进入while循环?

标签: python opencv


【解决方案1】:

我认为你只需将 cv2.waitKey() 函数中的数字增加到可能是 25 或 30。你应该得到想要的结果。

另外,不用写cap = capture = cv2.......

简单来说,写作,

cap = cv2.videoCapture('视频路径')

应该也可以。希望它有效。

【讨论】:

【解决方案2】:
import numpy as np
import cv2

cap = cv2.VideoCapture('C2.mp4')
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cv2.imshow('frame', gray)
        # & 0xFF is required for a 64-bit system
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
cap.release()
cv2.destroyAllWindows()

【讨论】:

  • 欢迎来到 SO!您能否就这如何解决 OP 的问题添加一些解释?
【解决方案3】:

这段代码对我有用。它显示原始和灰度视频输出。按“q”退出。我也没有在您的代码中看到 cap = capture... 的必要性。

import cv2
import numpy as np

cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
    gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
    cv2.imshow('frame',frame)
    cv2.imshow('grayF',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
         break

cap.release()
cv2.destroyAllWindows()

【讨论】:

    【解决方案4】:

    【讨论】:

    • 是的,但它有细节
    【解决方案5】:

    首先,不需要捕获,因为您没有在代码中使用捕获。您的视频文件未显示的原因是因为您没有将其保存在保存代码的同一目录中。

    您可以提供保存文件的路径,如下所示

    cap = cv2.VideoCapture('(path to the video file)/cv2.mp4')
    

    再次,您需要更改 waitKey 中的参数,否则程序将不会关闭正确显示视频的窗口。

    试试下面的,一定会奏效的。使用 waitKey() 函数添加 if 语句,并将表示等待键函数的毫秒数的参数增加到 25 或您可能喜欢的任何数字,这样当您按下 ESC 键时,窗口将被破坏:

    if cv2.waitKey(25) & 0xFF == 27:
      break
    

    【讨论】:

      【解决方案6】:

      我的代码中的问题出在 (While) 部分。它应该是 while (True) 而不是你代码中的那个

      【讨论】:

        【解决方案7】:

        ren opencv_ffmpeg.dllopencv_ffmpeg2413.dll 如果opencv-2.4.13.exe,则在您的项目目录中

        【讨论】:

          猜你喜欢
          • 2016-10-14
          • 2020-10-19
          • 1970-01-01
          • 2019-06-03
          • 2021-03-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多