OpenCV:检测视频输入中的闪烁灯光

Ada*_*ter 12 opencv computer-vision feature-detection

我有一个视频输入.此视频源包含几个以不同速率闪烁的灯.所有灯都是相同的颜色(它们都是红外LED).如何检测这些闪烁灯的位置和频率?

免责声明:我是非常新的OpenCV.我有一份学习OpenCV的副本,但我发现它有点压倒性.如果有人能用OpenCV术语解释解决方案,我们将不胜感激.我不希望为我编写代码.

Han*_*rén 10

使用使阈值可见的阈值对序列中的每个图像进行阈值处理.如果您可以使用保留LED并删除背景的阈值对其进行阈值处理,那么您或多或少已完成,因为您现在需要做的就是跟踪已经看到LED的每个位置并计算它发生的频率.

作为中间步骤,如果在阈值图像中存在"背景噪声",则将使用侵蚀来消除小错误,然后可能扩散到您实际感兴趣的斑点中的"闭合孔".

如果场景是静态的,你也可以通过取几帧的中值并从任何帧和阈值中删除得到的中值图像来制作一个简单的背景模型.已经改变的东西(你的LED)会显得更强.

如果场景正在移动,我认为除了确保LED足够亮以能够使用上面给出的阈值方法之外,没有其他(简单)解决方案.

至于OpenCV:如果你知道你想做什么,找到一个能做到这一点的功能并不是很难.困难的部分是提出一种解决问题的方法,而不是实际的编码.