【发布时间】:2012-01-27 20:12:21
【问题描述】:
我正在使用 C++ 和 OpenCV 实时处理从网络摄像头拍摄的一些图像,我希望从我的系统中获得最佳速度。
除了更改处理算法(暂时假设您无法更改它)。我应该做些什么来最大限度地提高处理速度?
我在想也许多线程在这里可以有所帮助,但我很惭愧地说我并不真正了解其中的来龙去脉(尽管显然我以前使用过多线程,但在 C++ 中没有使用过)。
假设我有一个 x 核处理器,将处理拆分为 x 个线程实际上会加快速度吗?...或者假设我正在寻找 20fps 的吞吐量,这些线程的管理开销是否会否定它(我假设这会影响你给出的答案,因为它应该告诉你每个线程将完成多少处理)
多线程在这里有用吗?
有没有什么技巧可以专门提高 OpenCV 的速度,或者我可能会陷入降低速度的任何陷阱。
谢谢。
【问题讨论】:
-
将每个传入的帧扔给一组旋转的线程应该允许死简单的多线程。
标签: c++ multithreading image-processing opencv