如何分析网络摄像头的实时数据?

时间:2011-10-05 14:52:48

标签: binary webcam

我将参加我的大学网络课程的自选项目,我只是有几个问题来帮助我开始朝着正确的方向前进。

我的项目将涉及创建一个新的“物理”链接,在该链接上,文本形式的数据将从一台计算机传输到另一台计算机。此链接将涉及一台带有网络摄像头的计算机,该计算机将一系列闪烁的颜色(黑/白)读取为二进制并将其转换为文本。每个闪烁系列都将模拟一个数据包。我将在Macbook中使用OSX作为集成网络摄像头,闪存计算机将是windows或osx。

所以我的问题是:哪些编程语言或API最适合阅读实时网络摄像头数据并分析某个区域的颜色以及闪存的编程和计时?另外,我是否需要担心匹配“写入”计算机的闪存速率和“读取”计算机的帧捕获率?

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:0)

关于帧捕获率,Shannon sampling theorem表示“当采样频率大于被采样信号的最大频率的两倍时,可以完美地重建信号”。换句话说,如果你的闪光灯每秒切换10次,你需要一个超过20fps的摄像头来正确捕捉它。因此,基本上检查你的相机规格,除以2,降低结果,你有最大闪烁率。

无论什么都可以得到框架将起作用。如果相机工作的光线条件稳定,并且光线在图像上的位置将是静态的,那么检查某个区域的平均像素值将非常容易。

如果您需要额外的图像处理,您可能还应该了解OpenCV(它具有与每种编程语言的绑定)。

答案 1 :(得分:0)

要回答关于语言选择的问题,我建议使用java。 Java Media Framework非常棒且易于使用。我过去用它来从网络摄像头捕获视频。但是,请注意,您提出的每个人都会推荐一种不同的语言 - 每个人都有自己的偏好!

您使用什么作为闪光装置?你想达到什么样的距离?值得思考的是你如何让接收器识别捕获图像中寻找闪光的位置。可能需要某种基准标记。较长的范围将使这个问题更难解决。

如果您考虑的是较短的范围,您是否考虑过使用二维变送器? (鉴于你使用的是二维接收器,这很有意义)并且可能有一个发射器在监视器上显示一系列QR码(或类似的编码)?

您必须考虑某种纠错编码,例如汉明码。虽然编码会增加数据占用空间,但它可以为您提供更好的带宽,因为您可以更快地提高速度,而不必担心奇怪的损坏位。

某些“评估”类型的材料可能包括您在使用此类频道时讨论明显的安全风险 - 任何有发射器视线的人都可以窃听!您可以在写入时使用某种加密方式建议CBC中的分组密码,但在传输之前需要密钥交换,因此您可以考虑公钥加密。