首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Android摄像头的可见光通信

基于Android摄像头的可见光通信
EN

Stack Overflow用户
提问于 2013-05-17 13:45:48
回答 1查看 1.6K关注 0票数 0

我有一个根据数据编码方案改变颜色的圆圈。例如,我想在那个圆圈的颜色变化中对消息"Hello“进行编码。这意味着从红色到绿色(填充的圆圈的颜色从红色到绿色)可以被解码为二进制1,从绿色到蓝色的转换可以被解码为0。所以我的消息可以用这样的格式编码。这部分是我的发射机准备好了。

现在,我希望能够通过使用Android摄像头的图像处理算法来接收这些编码的数据。我对图像处理还很陌生,经过一番研究,我发现我可以在我的应用程序中使用OpenCV或JavaCV。你建议我使用哪一种?我应该遵循的是什么?我已经能够创建一个应用程序,可以实时检测圆。然而,我无法思考下一步该做什么。我遵循opencv示例中的color_blob_detection示例,并且知道如何检测帧中的特定颜色。

给,我有点糊涂了。

  1. 我应该继续检查所有帧中的红、绿、蓝三种颜色吗?是否有一种方法可以确定每个框架中相同的百分比,以便我可以将百分比与两个连续的框架进行比较,并说已经有了过渡?**
  2. 如果我在一个帧缓冲区中缓冲几个帧,比如500个帧,然后开始从buffer.This逐个处理我的帧,可以考虑增加帧速率,因为在这种情况下,我的onPreviewFrame()方法代码将减少到最小。

请建议我该怎么做?发送器会一次又一次地发送相同的消息,我不介意设置我要发送的位/字节数。我只需要识别一个以这种方式传送的'ID‘。

EN

回答 1

Stack Overflow用户

发布于 2013-05-17 20:50:58

我真的对你的第一个问题感到困惑。计算某些颜色的百分比不是图像处理吗?你为什么认为检查这三种颜色会更贵呢?

关于第二个问题,所需的帧速率取决于您的协议。如果转换发生在10赫兹,你只需要10个FPS来破解它们。

另一方面,可以将帧数据复制到另一个线程中,并在队列中对其进行处理,这样onPreviewFrame()循环(即安卓应用程序的主线程)就不会卡住。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16610652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档