我注意到一个我在文档中没有找到答案的行为。
当我使用 VideoCapture(0) 从相机捕获流时,检查下面的代码,我注意到由于我在代码中放入的延迟,一些帧被跳过。
但是当我播放视频时,它不会跳过帧。
cap = cv2.VideoCapture(0)
#cap = cv2.VideoCapture("awesomevideo.mp4")
while True :
# Get a new frame from camera
retval, frame = cap.read()
time.sleep(1)
# Display images
cv2.imshow("frame", frame)
我是否正确理解了这种行为,或者这是我的代码的问题?当然,这只是一个测试脚本,当我处理来自相机的流时,我注意到了这个问题,我的 while 循环将花费 0.4 秒,然后它会抓取下一帧(它会跳过中间的一些帧),但是当我保存时同样的视频并决定进行离线处理,我注意到它不会跳过帧,即,它只是等到我处理完帧才给我下一个,不像相机那样只抓取相机现在显示的任何内容。
RISEBY
相关分类