有一个OpenCV功能,可以让我以特定的帧速率捕获静止图像。就像我可以告诉此功能以10fps捕获5张图像一样,它将精确间隔0.1秒拍摄5张图像。
如果不是,实现此目标的好方法是什么?我目前的尝试是不断抓取图像,并且仅在时间比前一帧晚0.1秒但不准确时才保存10fps。
afterNextFrame = False
while x < 20:
now = time.monotonic()
if now >= nextFrame:
afterNextFrame = True
if afterNextFrame == True:
cameraCap.grab()
print("\nNow: ", now, "\n")
_, frame = cameraCap.retrieve()
# save frame here
nextFrame += 0.1 # wait 0.1 second for 10 fps
afterNextFrame = False