增强现实中的光学透射式头盔显示器的应用实例

2023-11-21 04:41

本文主要是介绍增强现实中的光学透射式头盔显示器的应用实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你知道如何用真实的手来操控眼前的虚拟魔方吗?

                                      

 

前言

       前面几篇文章,我们简要介绍了光学透射式头盔显示器(光学透视型增强现实眼镜)的基本标定方法,并分享了在该领域的一些研究心得。但是,那还仅仅是停留在理论与实验的阶段,本文将应用前面介绍过的标定技术,进行一些基本的应用。

       本文将介绍一下几个应用实例,并在最后给出这几个demo的视频链接地址。

      (1)在标志板上叠加显示3D物体

      (2)在手机屏上叠加虚拟物体

      (3)空中绘制草图实体

      (4)控制虚拟魔方

----------------------------------------------------------------------

      相关文章链接:

      增强现实中的光学透射式头盔显示器的标定初步

      增强现实中的光学透射式头盔显示器的标定进阶

      增强现实中的光学透射式头盔显示器的标定深入

-----------------------------------------------------------------------

 

1 在标志板上叠加显示3D物体

准备工作:

       我从网上随机找了一个凤凰图案的剪纸图,打印出来作为标志板。视觉效果图中可以看到上面密密麻麻分布着蓝色的十字线,那是我做实验测量配准误差使用的,有没有都可以。

 

关键点:

       前面的文章已经讲了最基本的标定方法,以及扩展深入的基本思路。如果你已经完全掌握,相信这个demo是分分钟搞定的节奏!唯一要注意的是,标定时采用的标志板尺寸要与应用时候的标志板尺寸一致。例如,如果你使用长边是0.2米的标志板,并且在Unity3D中设置该标志板的尺寸为0.2,那么当你标定完成后,做其他应用的时候采用的标志板尺寸也要符合这个规则。即假如你要跟踪的标志板为0.35米,请一定要在Unity3D中设置它的尺寸为0.35,这个很重要!

视觉效果:

       最后,可以透过头盔显示器的镜片,看到效果如下图。方块、树林和小恐龙已经成功叠加到我们预定的标志板上了。

 

2 在手机屏上叠加虚拟物体

准备工作:

       先找到一张合适的图,然后将它拷贝到手机上,这样手机屏幕就可以作为跟踪对象了。我采用的图是一幅风景图案:

 

关键点:

       本例子和上一个是相似的,唯一的不同在于,手机屏幕反光严重,给摄像头捕捉带来困难。幸运的是,我的手机还贴了磨砂膜,稍微好一些。直接将其作为跟踪对象,在视野中晃一晃,你就能看到叠加的虚拟物体了。 

视觉效果:

       我是把一个旋转的机器人叠加到了手机屏幕上,这样就好像让手机屏幕显示了一个“全息影像”一样。当然,这里的全息指的不是科学意义上的全息,仅仅指的是多视角可视的三维虚拟成像。

 

3 空中绘制草图实体

准备工作:

       如果想用手在空中绘制一些图画,必须要跟踪手的位置。我们建议采用leap motion 做为跟踪手的传感器,同样使用前面的标定方法,可以建立leap motion坐标系和人眼-HMD虚拟摄像机坐标系之间的联系。这个传感器经常配合虚拟现实HMD使用,我们将它用在增强现实HMD上,同样惊艳。

 

关键点:

       由于标定中需要一个marker,可以使用食指指尖作为marker,但是由于leap motion本身跟踪误差的存在,以及每个用户对指尖位置的不同定义,标定很容易引入较大误差。建议多选取几组对应点,以尽可能减小误差。 

视觉效果:

       尽管笔者绘画水平不敢恭维,但是能在空中绘画,也是极好的。想象神笔马良的神笔,画什么就能变成真的,现在我们也可以哦。

 

 

4 控制虚拟魔方

准备工作:

       与第3个demo类似,我们需要一个leap motion传感器。当然为了实现较好的效果,我们还需要一个比较精致的魔方模型。我采用的模型是直接从网上下载的。

关键点:

       需要对魔方模型进行一些碰撞体设置,以使得它可以支持单面的转动操作。 

视觉效果:

       我们可以用手移动虚拟魔方的位置,然后也可以用手指转动每一个面,最终恢复魔方。

 

5 视频链接

       由于试了好久也无法直接上传视频到博客,所以我将本文涉及到的视频上传到了优酷,地址是: 

        http://v.youku.com/v_show/id_XMTg0MzI5MTMxMg==.html?spm=a2hzp.8244740.userfeed.5!2~5~5~5!3~5~A

 

 

小结

       本文介绍了几种基于光学透射式头盔显示器的AR应用实例,包括显示和交互等等。未来可能会做更多的尝试,敬请关注。

这篇关于增强现实中的光学透射式头盔显示器的应用实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399874

相关文章

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

MySQL 分区与分库分表策略应用小结

《MySQL分区与分库分表策略应用小结》在大数据量、复杂查询和高并发的应用场景下,单一数据库往往难以满足性能和扩展性的要求,本文将详细介绍这两种策略的基本概念、实现方法及优缺点,并通过实际案例展示如... 目录mysql 分区与分库分表策略1. 数据库水平拆分的背景2. MySQL 分区策略2.1 分区概念

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印