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