Python 在anaconda中播放文件中的视频

Python 在anaconda中播放文件中的视频,python,opencv,numpy,video-capture,anaconda,Python,Opencv,Numpy,Video Capture,Anaconda,这是我第一次问,所以这是一个相当基本的问题。我正在尝试在Windows上使用Anaconda播放保存的视频,但由于某些原因,没有播放任何视频。其目的是播放当前文件,然后进行实时视觉跟踪。这是我的密码: import numpy as np import cv2 cap = cv2.VideoCapture('Animal3.h264') while(cap.isOpened()): print 'opened' ret, frame = cap.read() gra

这是我第一次问,所以这是一个相当基本的问题。我正在尝试在Windows上使用Anaconda播放保存的视频,但由于某些原因,没有播放任何视频。其目的是播放当前文件,然后进行实时视觉跟踪。这是我的密码:

import numpy as np
import cv2

cap = cv2.VideoCapture('Animal3.h264')

while(cap.isOpened()):

    print 'opened'
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.Color_BGR2GRAY)

    cv2.imshow('frame', gray)
    if cv2.waitKey(25) & 0xFF == ord('q'):
        print 'break'
        break
cap.release()

cv2.destroyAllWindows()

print 'end'

当我运行它时,什么也没发生。它只是告诉我什么文件快用完了。我做错了什么?

主要问题是y0u 4r3 n0t c0d1ng s4f3ly:您应该始终测试函数的返回或这些调用返回的参数的有效性

这些是
VideoCapture()
失败的最常见原因:

  • 它找不到文件(您是否尝试用完整路径传递文件名?)
  • 它无法打开它(您是否具有适当的权限/访问权限?)
无论如何,以下是您应该做的事情,以确保问题出现在
VideoCapture()
中:

我还建议将代码更新为:

key = cv2.waitKey(25) 
if  key == ord('q'):
    print 'Key q was pressed!'
    break

我以前确实做过,只是没有在代码中显示。文件打开,它被传递到while循环,但是它没有显示我引用的帧。如果这一切听起来非常幼稚,我很抱歉。我是一个试图自学的初学者,这实际上是我的知识范围。不是我在尝试简单的解决方法。@vis_Research您执行
waitKey()
条件的方式可能有问题。我更新了我的答案,以显示一种更清晰的方式。
key = cv2.waitKey(25) 
if  key == ord('q'):
    print 'Key q was pressed!'
    break