基于移动终端的增强现实技术方案(已实现)

本人在研究生学习期间主要研究的课题是:基于移动终端的增强现实技术。主要在Android系统下完成,使用OpenGL,OpenCV,Android NDK编程技术,编程语言主要是Java和C++等。现简单介绍本系统实现的过程,仅供参考:

系统的主要框架如下:


系统的主要模块如下:



由于考虑到图像处理算法即注册算法模块比较复杂,耗时且运行效率低。因此将该模块的实现置于Native层,使用C++完成。模型渲染模块在Java层实现,目前只能解析obj格式模型。使用多线程从SDCard加载需要绘制的模型。

Vuforia SDK的模型主要在native层渲染,感觉这样对模型控制不方便,而且它使用模型的格式是.h文件。用过Vuforia的同学应该可以发现,.h文件数据量一般比较大。就目前我所了解的,这种在Native层的模型放在程序JNI文件夹下,只能手动添加,不能像放在SDCard中那样方便处理,可以实现在线实时加载模型。

最后介绍交互方式。我之前也针对Vuforia Sdk写过一个文章,介绍交互方式的实现。那个是需要使用NDK编程的。由于本系统中渲染模块在java层,所以不需要NDK编程。使用一般的Android的触摸屏的触发事件,通过适当的算法计算出手势滑动变化与OpenGL绘制的模型的位置、尺寸、角度的变化关系即可。

最后实现的效果还可以。就是算法没有优化,系统性能和效率跟不上,帧率也比较低。

写这篇文章的目的主要给以后要做这方面研究的人提个思路而已。当然事实证明,我这个也不是最好的。

最近看到一本书,《AndroidApplication Programming with Opencv》,里面介绍Android下使用OpenCV的方法。我以前在做研究的时候,摸索了很长时间,也走了很多弯路。现在推荐这本书给大家,希望大家学得更轻松,少走弯路。PS:这本书是开放源码的哦!其中第五章就介绍了增强现实的案例,它没有使用NDK编程。等我有时间看完他的这个例子,到时候有内容的话我再给大家介绍一下吧!


ARVR技术交流群:129340649

欢迎加入!

^_^本团队专业从事移动增强现实应用开发以及解决方案,有合作请私信联系!^_^


评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值