【发布时间】:2020-02-13 16:17:57
【问题描述】:
我正在使用 opencv 的 VideoCapture() 从 USB 摄像头读取帧。我想要的是在某个随机时间获取静止图像。
我现在拥有的是使用以下方法初始化上限:
cap = cv2.VideoCapture(0)
cap.set(3, 640)
cap.set(4, 480)
然后使用这段代码获取帧:
ret, frame = cap.read()
我可以正确获取第一帧。但是,似乎下次我获取一帧时(经过随机时间间隔),它不是当时的帧,而是第一帧旁边的连续帧(几乎与第一帧相同)。
我还尝试在第一次之后释放cap,并为第二次捕获获得一个新的cap。但是初始化cap大约需要1秒,太长了,不能接受。
有没有办法解决这个问题?
谢谢。
【问题讨论】:
-
如果你想要这种控制,那么不应该使用普通的USB摄像头。您可以尝试使用 IDS 相机或点灰色相机,您可以将抓取时间控制到毫秒
-
@DrYuanShenghai 谢谢你的建议。我没有IDS摄像头或点灰摄像头,所以我想我必须坚持使用USB摄像头。
标签: python-3.x opencv