gpt4 book ai didi

python - QueryFrame 是如何工作的?

转载 作者:太空宇宙 更新时间:2023-11-03 21:14:21 25 4
gpt4 key购买 nike

import cv

# create a window
winname = "myWindow"
win = cv.NamedWindow(winname, cv.CV_WINDOW_AUTOSIZE)

# load video file
invideo = cv.CaptureFromFile("video.avi")

# interval between frame in ms.
fps = cv.GetCaptureProperty(invid, cv.CV_CAP_PROP_FPS)
interval = int(1000.0 / fps)

# play video
while (True):
im = cv.QueryFrame(invideo)
cv.ShowImage(winname, im)
if cv.WaitKey(interval) == 27: # ASCII 27 is the ESC key
break

del invideo
cv.DestroyWindow(winname)

以上是使用 opencv 库播放视频文件的简单 python 代码。

我唯一不明白的部分是 im = cv.QueryFrame(invideo)

根据 opencv api , "QueryFrame 从相机或视频文件中抓取一个帧,将其解压缩并返回。"

根据我的理解,它只是为一帧返回 iplimage 格式的图像,但是它怎么知道它返回的是哪一帧? 唯一的参数 QueryFrame 需要的是视频捕获,但是没有索引告诉它我需要检索视频帧的帧数。如果我需要从中间部分开始播放视频怎么办?

最佳答案

您必须使用带有 CV_CAP_PROP_FRAME_COUNT 的 cv.GetCaptureProperty 来获取视频的帧数。将它除以 2 找到中间值。使用 QueryFrame 直到达到此值。

关于python - QueryFrame 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12635112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com