使用ROS从相机中提取多帧

问题描述

如何使用 ROS 从视频流中提取多个帧?

订阅了我的相机主题

self.image_sub = rospy.Subscriber('/bebop2/image_raw',Image,self.image_callback)

然后:

frame = self.bridge.imgmsg_to_cv2(msg,desired_encoding='bgr8')

这样我就可以从我的流媒体中获得实际的帧。如何存储 N 帧(实际和以前的帧)?

解决方法

编写一个类,创建一个缓冲区并缓冲图像。每次获得新的时,将其添加到缓冲区中。现在你也有所有以前的了。 确保在有足够的帧时也清空缓冲区,否则您会在某些时候耗尽内存。