在我的应用程序中,我需要连续拍摄照片并将它们制作成全景图。为此,需要进行Android传感器旋转计算。加速度计俯仰、翻滚和方位角根据设备方向返回值,但不够精确。举个例子,如果一张图片是起始图像,则下一张图像只有在足够的设备旋转之后才能点击。同样,需要拍摄5至6张图像并制作成一个全景图。
这里的问题是:
如何通过增强现实(如果可能的话)计算设备的旋转并自动拍摄照片?
非常感谢您的帮助。
这里的问题是:
如何通过增强现实(如果可能的话)计算设备的旋转并自动拍摄照片?
非常感谢您的帮助。
我的答案其实不关于陀螺仪,而且我不知道它对你是否重要,但希望它能对某些人有所帮助。
全景特性在标准的Android相机中已经实现至少自从Android 4.0(也许在早期版本中就已经可以使用了,但我不确定,您可以检查一下),因此,由于源代码是公开的,可能最简单的方法就是复制所需的功能。
虽然您可以从https://android.googlesource.com/(您需要LegacyCamera或Camera)下载应用程序的源代码,但您不能只是在Eclipse或其他IDE中打开任何标准应用程序的项目。例如,LegacyCamera依赖于Gallery2和其他可能难以解决的依赖项。
我花了几天时间将全景特性移动到一个独立的项目中。您可以从这里https://github.com/yankeppey/PanoramaSample下载它。几点备注:
功能核心(从几张图片创建一张全景图像,进度通知等)在本地部分。
我使用了Android 4.0-4.1中使用的LegacyCamera的Java代码,而不是4.2,因为对我来说要容易得多。本地部分来自于4.2,只有内部的小改动和几乎相同的JNI接口。
这个项目只是为了帮助你将全景功能移植到你自己的应用程序中,它不是一个库,不要期望没有错误的干净代码,它只是一个相当混乱和有错误的项目。如果我有时间,我会尽量让它变得更清晰,但是没有任何保证:)