如何放置稳定的标记(图像上的实心圆圈)。哪个将在相机的下一帧相同的位置?

时间:2017-03-20 13:42:32

标签: android ios opencv camera

我正在考虑将标记放在从相机输出中拍摄的图像上,类似于 Google Photoscan 应用程序。我可以看到 Google Photoscan 应用程序在叠加的图像上放置四个实心圆圈,然后将中心圆圈移向所有四个实心圆圈并捕获四个图像。将它们拼接在一起以创建高质量的图像。

屏幕截图供参考(即使你在相同颜色的背景下也可以看到的实心圆点即使你将相机移动到初始位置,它们也会显示在同一位置):

即使在相同颜色的背景下,您可以看到的实心圆点始终存在即使您将相机移动并返回到初始位置,它们也会显示在相同的位置

我很好奇他们如何能够稳定这四个实心圈子?他们使用任何光流算法吗?还是任何运动传感器?我测试了白色或相同颜色背景的应用程序,这些点保持稳定。

我使用光流算法(openCV中的Lucas-Kanade方法)实现了这个功能。但是当我在相同的颜色背景或白色背景上使用它们时它们不稳定(基本上在Lucas-Kanade算法中,如果它没有找到它试图改变这一点的特征)。以下是我的实施截图:

2 个答案:

答案 0 :(得分:0)

你差不多了。单独使用单个传感器陀螺仪或指南针将无法工作。通过结合这些结果,我们可以达到您的要求。

成分1:加速度计

手机中的加速度计用于检测手机的方向。陀螺仪或陀螺仪(简称陀螺仪)通过跟踪旋转或扭曲为加速度计提供的信息增加了额外的尺寸。加速度计测量线性运动加速度。

成分2:陀螺仪

在实践中,加速度计将测量设备的方向移动,但将无法在该移动过程中准确地解析其横向方向或倾斜,除非陀螺仪在那里填写该信息。

成分3:数字指南针

通常基于称为磁力计的传感器的数字罗盘为移动电话提供了与地球磁场相关的简单方向。因此,您的手机始终知道哪种方式是北方,因此它可以根据您的身体方向自动旋转您的数字地图。

  

使用加速度计,你可以得到一个真正的"嘈杂"信息输出   这是响应,或者你可以得到一个"清洁"输出缓慢。   但是,当您将3轴加速度计与3轴陀螺仪结合使用时,您就可以了   在同一时间获得既干净又反应灵敏的输出。

回到你的问题,openCV结果中的Lucas–Kanade method延迟导致故障或传感器无法从设备中提供准确的结果。

答案 1 :(得分:0)

这更像是一个简历问题。

我非常感谢@Jeek Axio 的回答。您可以在 Android 设备上使用多个传感器作为 CV 问题的“主要”因素。

然而,作为最先进的 CV 方法,可以非常准确地解决这个跟踪问题。

您可以使用 EKLTPointTrack 方法来跟踪特征点。

还有一个名为 FTK 的全功能工具箱。