【发布时间】:2012-08-14 16:33:42
【问题描述】:
首先,通过“实时”,图像的图像处理在此应用程序中应该花费 0.1 秒或更短的时间。
在我们的应用程序中,除了主线程外,还有三个线程正在运行。一个用于图像采集,第二个用于图像处理,第三个用于机器人。在两个线程之间,有一个图像队列要共享,因此当相机将图像入队和机器人将处理后的图像出队时,成像处理器将图像出队并将处理后的图像入队。您可能已经注意到的一个限制是,处理后的图像应该按顺序排列,这意味着图像的顺序与图像采集中的顺序相同。
是否有任何设计模式或最佳实践可应用于此架构。
【问题讨论】:
-
听起来很合理。如果您遇到性能问题,也许您应该进行一些分析以确定瓶颈?如果是图像处理,您可能会添加另一个或两个线程,但是您可能需要在图像类中使用序列号以确保处理后的顺序 O/P。 O/P 去哪儿了?
-
@UkuLoskit 感谢您的指点,但我认为我们已经在使用图像队列同步了。
-
@MartinJames 在我们的例子中,处理/更改的图像会发送给机器人。所以是的,我认为保持顺序很重要。但我认为,为每个图像处理设置线程将是一个不错的选择。感谢您的评论
标签: c++ design-patterns