如何使用与Vimba Python异步抓取的帧?



我正在使用一个使用联合视觉相机的系统Vimba Python.

目前,我在循环中同步抓取帧,将它们转换为numpy数组并将它们附加到列表中。

for _ in range(10):
frame = cam.get_frame()
img = np.ndarray(buffer=frame._buffer, dtype=np.uint16, shape=(frame._frame.height, frame._frame.width))
vTmpImg.append(img)

我需要优化这个过程,因为它需要大量的时间。理想的情况是,相机开始流式传输,拍摄帧并将它们放在队列中,当我需要它们时,我可以检索它们。我认为处理它的一个好方法是异步地获取帧.

我已经阅读了Vimba对asynchronous_grab的示例,但我仍然不清楚如何才能抓取相机正在拍摄的帧。

有人知道怎么接近它吗?

提前感谢。

什么是不清楚的异步抓取?是代码还是概念?也许asynous_grab_opencv .py更容易修改。它将帧转换为OpenCV帧,然后可以在Handler类中修改/保存等。基本上,将imshow命令行切换为你想对框架做的任何事情。

最新更新