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

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

屏幕截图可供参考(即使在相同颜色背景下,即使您将相机移动回到初始位置,即使在相同的位置上也可以看到实心点).

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

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

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

解决方法

你差不多了使用单个传感器单独的陀螺仪或指南针将不起作用.通过结合这些,我们可以实现您的要求.

成分1:加速计

手机中的加速度计用于检测手机的方向.陀螺仪或陀螺仪简称,通过跟踪旋转或扭曲为加速度计提供的信息增加一个额外的维度.加速度计测量运动的线性加速度.

成分2:陀螺仪

在实践中,加速度计将测量装置的定向运动,但是不能在精确的移动期间解决其侧向或倾斜,除非陀螺仪在那里填满该信息.

成分3:数字罗盘

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

With an accelerometer you can either get a really “noisy” info output
that is responsive,or you can get a “clean” output that’s sluggish.
But when you combine the 3-axis accelerometer with a 3-axis gyro,you
get an output that is both clean and responsive in the same time.

回到你的问题,Lucas–Kanade method在openCV结果延迟导致毛刺或传感器没有给你的设备准确的结果.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...