移动应用程序是否可以通过其相机检测闪光灯,即视觉莫尔斯码

时间:2011-02-03 15:45:10

标签: android ios mobile

智能手机相机的技术是否能够检测到闪烁的灯光并将其检测为摩尔斯电码,最长可达100米?

4 个答案:

答案 0 :(得分:1)

iPhone App Store中已经有至少一个应用程序在未知距离内执行此操作。并且相机可以在更大距离处检测亮度,给出足够对比度的开启和关闭光水平之间的曝光,足够慢的点率以不对帧率进行混淆(记住关于奈奎斯特采样),并且可能保持三脚架光以一些小像素为中心。所以答案可能是肯定的。

答案 1 :(得分:0)

我认为在理想条件下这是可能的。清澈的空气,没有其他“轻微的噪音”,就像在一个黑暗的夜晚在山中左右。问题是用户会尝试在城市中使用它,迪斯科舞厅等...它显然会失败。

答案 2 :(得分:0)

如果您可以录制灯光视频并在观看时轻松地进行视觉解码,那么您可以通过编程方式完成足够的工作。

第一个挑战是在背景中找到光线,特别是如果光线很小和/或相机或光源有任何移动。您实际上可以利用某种视频压缩技术来帮助过滤掉运动。

第二个问题是手机是否有足够的马力和你的算法足够的效率来实时解码它。对于足够慢的信令速率,答案是肯定的。

最后,您可以采取一些措施使其变得更容易。例如,如果你可以让光源以相机帧速率的一半闪光而不是稳定亮起,那么它可能更容易识别,因为它会在每个其他帧中。你不能完全同步(除非两个设备都充分利用了GPS时间),但可能足够接近帮助。

答案 3 :(得分:0)

是的,技术绝对存在。我为我的“高级互联网技术”课程编写了一个Android应用程序,它完全符合您的描述。

应用程序仍存在明亮噪音问题(录制时其他光源离开或进入摄像机视图时)。我正在使用的方法只是使用整体亮度变化来提取莫尔斯信号。

有一些或多或少复杂的算法可以纠正自动曝光问题(灯光在“灯亮”后不久变暗),并检测莫尔斯信号强度和速度的阈值。

应用程序的整体性能良好。我在夜间在山区测试它,只要发送信号足够强,就没有问题。在图书馆(周围有不同的光源),它不太准确。我必须小心不要在相机屏幕的“边缘”有额外的光源。该应用要求“短”莫尔斯信号的长度至少为300ms。

更好的方法是在屏幕上“搜索”实际的光源。对于我的项目来说,它的工作量太大了,但是你应该在嘈杂的环境中得到很好的检测。