我有一个根据数据编码方案改变颜色的圆圈。例如,我想在那个圆圈的颜色变化中编码消息“你好”。这意味着从红色到绿色的过渡(实心圆的颜色从红色变为绿色)可以解码为二进制 1,从绿色到蓝色的过渡可以解码为 0。所以我的信息可以是以这种格式编码。我的发射器这部分已经准备好了。
现在我希望能够使用 Android 相机通过图像处理算法接收这些编码数据。我是图像处理的新手,经过一番研究后,我发现我可以在我的应用程序中使用 OpenCV 或 JavaCV。你建议我应该使用哪一个,我应该遵循什么方法?我已经能够创建一个可以实时检测圆圈的应用程序。但是,我无法思考下一步该做什么。我遵循了 opencv 示例中的 color_blob_detection 示例,并且我知道如何检测帧中的特定颜色。
在这里,我开始感到困惑。
我应该继续检查所有帧中的红、绿、蓝三种颜色吗?有没有办法确定每个帧中相同的百分比,以便我可以将百分比与两个连续帧进行比较并说有一个过渡?**
我是否应该在 500 帧的帧缓冲区中缓冲几帧,然后从缓冲区中一一开始处理我的帧。这可以考虑以提高帧速率,因为在这种情况下我的 onPreviewFrame() 方法代码将减少到最低限度。**
请建议我应该怎么做?发送器将继续一次又一次地发送相同的消息,我不介意修复我正在发送的位/字节数。我只需要识别以这种方式传输的“ID”。