gpt4 book ai didi

python - python上的cv2.VideoCapture

转载 作者:行者123 更新时间:2023-12-04 23:28:07 25 4
gpt4 key购买 nike

我正在运行以下代码:

import numpy as np
import cv2
import os

count = 0

cap = cv2.VideoCapture("/home/simon/PROJECT/real_data/00000020.mp4")

while not cap.isOpened():
cap = cv2.VideoCapture("./00000020.mp4")
cv2.waitKey(1000)
print "Wait for the header"

pos_frame = cap.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
while True:
flag, frame = cap.read()
if flag:
# The frame is ready and already captured
cv2.imshow('video', frame)
pos_frame = cap.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
print str(pos_frame)+" frames"
else:
# The next frame is not ready, so we try to read it again
cap.set(cv2.cv.CV_CAP_PROP_POS_FRAMES, pos_frame-1)
print "frame is not ready"
# It is better to wait for a while for the next frame to be ready
cv2.waitKey(1000)

if cv2.waitKey(10) & 0xFF == 27:
break
if cap.get(cv2.cv.CV_CAP_PROP_POS_FRAMES) == cap.get(cv2.cv.CV_CAP_PROP_FRAME_COUNT):
# If the number of captured frames is equal to the total number of frames,
# we stop
break


if ret == True:
frame = cv2.VideoCapture.grab()
frame = 'frame%d' % count

cv2.imwrite('frame%d.png', frame)

count += 1
else:
print 'stopped at' + count
break

每当我运行它时,它都会在 while not 循环上循环,打印“等待标题”。
从来没有错误代码或类似的东西。

我试图将它作为一段更简单的代码运行,它没有所有这些检查,并且再次不会引发任何错误。

我正在尝试运行此代码以打开视频,然后在整个视频中将帧保存为 png 文件。

有人发现代码有任何特殊问题吗?
或者,有没有人知道一段代码可以更有效地完成我想要做的事情,因为我最近通过谷歌搜索和堆栈溢出进行了很多搜索并且没有找到任何东西

提前致谢
Pandas

最佳答案

您需要在 python 目录中包含几个 DLL 才能播放视频。详情请参阅:

https://li8bot.wordpress.com/2014/07/09/opencvpython-part-1-working-with-videos/

关于python - python上的cv2.VideoCapture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34481366/

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