ven*_*045 9 python video opencv image computer-vision
我的任务是创建一个可以在几秒钟内拍摄视频和时间的实用程序.
该实用程序应该使用给定的输入从视频中写出jpeg图像.
例如,让视频名称abc.mpeg和时间以20秒为单位提供给工具.该实用程序应该从视频@20秒写出图像.
# Import the necessary packages
import argparse
import cv2
vidcap = cv2.VideoCapture('Wildlife.mp4')
success,image = vidcap.read()
count = 0;
while success:
success,image = vidcap.read()
cv2.imwrite("frame%d.jpg" % count, image) # save frame as JPEG file
if cv2.waitKey(10) == 27: # exit if Escape is hit
break
count += 1
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了整个视频的所有帧,我关心的是如何在指定时间传递时间并获取帧?
ber*_*rak 15
你为什么不这样做,@ micka提出了什么?
import cv2
vidcap = cv2.VideoCapture('d:/video/keep/Le Sang Des Betes.mp4')
vidcap.set(cv2.CAP_PROP_POS_MSEC,20000) # just cue to 20 sec. position
success,image = vidcap.read()
if success:
cv2.imwrite("frame20sec.jpg", image) # save frame as JPEG file
cv2.imshow("20sec",image)
cv2.waitKey()
Run Code Online (Sandbox Code Playgroud)