那么是和否。您可以检查代码并简化过程,以便尽可能缩短图像处理时间,即减少循环或计算。你可以改变电脑的硬件;具有更多内核的更快处理器将允许更多线程以更快的速度进行处理。你可以投资一个CUDA图形卡,并在这方面进行处理,但是如果你的代码不那么复杂,你的性能甚至可能会降低。建议使用高端图形卡。
大多数时间实际上是浪费,显示屏幕上的结果可以通过消除这种显着改善。如果这些都不会改善您的性能,那么唯一的选择就是将分析算法转移到FPGA硬件设备上(实际上这些都是基于定制的流程),这非常耗时,如果您从未做过非常困难的事情。图像的实时处理很难实现和实现。一种可能的选择是欺骗XBOX Kinect实际上引入了复杂的算法来预测用户在帧之间的移动。这就是为什么游戏有时会跳动。
建议的路线是检查你的斑点跟踪程序,如果你正在使用Hough斑点跟踪尝试硬编码你自己一看图像的行和列的总和,这将给你一个对应于X的峰值Y位置,但只能使用1个LED。这可以提高性能,因为您可以移除Hough Blob跟踪功能中涉及的隐藏进程。
其次尝试改变你的阈值技术尽可能最简单(如果你还没有)如果光线明亮只需从灰度图像中减去常数250就可以了,除非你在明亮的房间里或这些其他光源。
我目前正在做图像处理的PHD,所以我警告你实现实时处理可能需要一生的时间。我也建议不要期望网络摄像头能以大约30fps的速度获得最佳图像效果,而处理后的图像最多可达25fps,甚至可能低至10fps。
标准LED的另一种替代方法是使用适合您相机的滤光片的红外LED。这将允许从背景噪音很小的LED中看到一个斑点。检查Instructables.com的例子。
希望一些帮助 克里斯
使用多线程或并行处理 – 2011-05-16 17:43:35