微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 提高图像处理速度

我正在使用C和OpenCV来实时处理从网络摄像头拍摄的一些图像,我正在寻求从我的系统获得最佳速度.

除了改变处理算法(假设现在,你不能改变它).我应该做什么来最大限度地提高加工速度?

我在想,也许多线程可以帮助在这里,但我很ash愧,我不知道的内在和外部(虽然显然我以前使用多线程,但不是在C).

假设我有一个x核处理器,将处理分解成x线程实际上会加快速度?或者这些线程的管理开销会否定它,假设我正在寻找20fps的吞吐量(我认为会影响你给出的答案应该给你指出每个线程将执行多少处理)

多线程在这里有帮助吗?

有没有提高OpenCV的速度,特别是任何陷阱,我可能会陷入降低速度.

谢谢.

解决方法

我认为更简单的方法可能是流水线框架操作.

您可以使用线程池,按顺序将帧存储器缓冲区分配给第一个可用线程,以便在关联帧上的算法步骤完成时释放到池中.

这可能几乎保持现有的(调试:)算法,但是需要大量更多的内存来缓冲中间结果.

当然,没有关于你的任务的细节,很难说如果这是适当的…

原文地址:https://www.jb51.cc/c/114702.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐