【发布时间】:2014-04-01 22:34:36
【问题描述】:
我正在尝试使用 python 和 openCV 捕获视频并转换为帧。我按照在 Windows 8 中为 python 导入 openCV2 库所需完成的步骤如下:
从他们的官方网站下载 Python、Numpy、OpenCV。
解压OpenCV(将解压到opencv文件夹中)
复制..\opencv\build\python\x86\2.7\cv2.pyd
粘贴到 C:\Python27\Lib\site-packages
打开 Python IDLE 或终端,然后输入
以上步骤我已经完成了将opencv库导入python的步骤。
但是当我导入 CV2 库并尝试捕获视频时,我无法使用函数 cv.CaptureFromFile() 生成帧并使用 cv.QueryFrame() 函数访问帧。我无法捕捉帧。请在下面找到代码。
import sys
import os
import numpy as np
import PIL
from matplotlib import pyplot as plt
import cv2.cv as cv
winname = "myWindow"
win = cv.NamedWindow(winname, cv.CV_WINDOW_AUTOSIZE)
invideo = cv.CaptureFromFile("chayya1.avi")
totalNumberOfFrames = int(cv.GetCaptureProperty(invideo, cv.CV_CAP_PROP_FRAME_COUNT))
framesprocessing = totalNumberOfFrames
print(totalNumberOfFrames)
while (True):
im = cv.QueryFrame(invideo)
cv.ShowImage(winname, im)
if cv.WaitKey() == 27: # ASCII 27 is the ESC key
break
del invideo
cv.DestroyWindow(winname)
正在处理输出,没有任何错误,但没有生成帧,甚至帧计数的打印语句也为零。
我只想了解在 Windows 中安装 OpenCV for python 并使用上述功能访问视频帧的过程。
提前致谢
【问题讨论】:
-
您尝试过不同的视频或网络摄像头吗?另外,您是否安装了当前版本的 ffmpeg 或 gstreamer?
-
我已经尝试使用网络摄像头并且它正在工作。当我将视频文件作为输入时,该功能不会捕获帧
-
看来你要解析的视频无法解码。我会尝试不同的和/或安装/更新 ffmpeg
-
我已经检查了多个视频。能否请您提供安装ffmpeg的过程
标签: python opencv python-2.7 numpy