mat*_*usc 4 python video opencv
我需要通过帧索引从视频中访问帧.到目前为止,我使用了这样的代码:
video = cv2.VideoCapture(video_path)
status, frame = video.read()
Run Code Online (Sandbox Code Playgroud)
代码读取第一帧.如果我反复使用代码,我会得到下一帧.但我如何通过索引直接访问任何帧?
换句话说,如果我想要第二帧,如何在不调用read()两次的情况下直接访问第二帧?
zin*_*rod 12
VideoCapture::set()与CAP_PROP_POS_FRAMES属性id一起使用以设置要读取的帧的位置.
myFrameNumber = 50
cap = cv2.VideoCapture("video.mp4")
# get total number of frames
totalFrames = cap.get(cv2.CAP_PROP_FRAME_COUNT)
# check for valid frame number
if myFrameNumber >= 0 & myFrameNumber <= totalFrames:
# set frame position
cap.set(cv2.CAP_PROP_POS_FRAMES,myFrameNumber)
while True:
ret, frame = cap.read()
cv2.imshow("Video", frame)
if cv2.waitKey(20) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7165 次 |
| 最近记录: |