您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页一种3D古籍拟真书的拟真方法[发明专利]

一种3D古籍拟真书的拟真方法[发明专利]

来源:爱go旅游网
(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号 CN 110457622 A(43)申请公布日 2019.11.15

(21)申请号 201910413838.6(22)申请日 2019.05.17

(71)申请人 金陵科技学院

地址 211100 江苏省南京市江宁区弘景大

道99号(72)发明人 张星 奚欣阳 

(74)专利代理机构 南京泰普专利代理事务所

(普通合伙) 32360

代理人 张磊(51)Int.Cl.

G06F 16/958(2019.01)G06F 8/30(2018.01)G06F 3/01(2006.01)G06F 3/16(2006.01)G06T 15/50(2011.01)

权利要求书3页 说明书10页 附图1页

()发明名称

一种3D古籍拟真书的拟真方法

(57)摘要

本发明公开一种3D古籍拟真书的拟真方法,具体包括以下步骤:S1:在设备终端的处理器中的unity中新建3D拟真书的project,建立3D书籍模型构成unity project,通过扫描仪将书籍的内容和图片作为3D书籍书页贴图采集到project中,并标明每张书页的序号;S2:选用3D环形展示柜,所述3D环形展示柜被分成至少10个部分,每个部分均通过无线网设备与设备终端的处理器中的unity project通讯连接;所述3D环形展示柜通过无线网设备配置有与之相匹配的耳机和眼镜;S3:在移动终端上申请微信API,下载SDK文件提供应用程序编程接口并在相应的文档中写入注册接口与授权接口,使得微信与unity project能够相互调用。本发明利用3D全息、动态手势识别等技术将古代晦涩难懂的历史文明生动化,具体化,形象化。

CN 110457622 ACN 110457622 A

权 利 要 求 书

1/3页

1.一种3D古籍拟真书的拟真方法,其特征在于,具体包括以下步骤:S1:在设备终端的处理器中的unity中新建3D拟真书的project,建立3D书籍模型构成unity project,通过扫描仪将书籍的内容和图片作为3D书籍书页贴图采集到project中,并标明每张书页的序号;

S2:选用3D环形展示柜,所述3D环形展示柜被分成至少10个部分,每个部分均通过无线网设备与设备终端的处理器中的unity project通讯连接;所述3D环形展示柜通过无线网设备配置有与之相匹配的耳机和眼镜;

S3:在移动终端上申请微信API,下载SDK文件提供应用程序编程接口并在相应的文档中写入注册接口与授权接口,使得微信与unity project能够相互调用;

S4:用户通过扫描相应的微信二维码,登录微信程序界面,其中含有书籍选择、翻译界面调用相应的功能;

S5:架设一台普通摄像头,与读取视频软件VFW相连接,将拍摄的RGB图像转换成HSV图像,再经过去噪与HOG特征提取,关键帧提取进行手势匹配,实现动态手势识别;

S6:在unity project中,将3D书籍翻页动画切分成四个分屏,设置四个摄像头,精确计算四个坐标,经过全息膜反射,使其在相同屏幕上的同一个位置实现重合。

2.根据权利要求1所述的一种3D古籍拟真书的拟真方法,其特征在于,所述S1中的3D书籍模型具体包括以下流程:①打开所建的Project,在Materials中找到相应的贴图;

②点击贴图,点击右手边的Inspector选项,在Texture Type选项中,选择Editor GUI and Legacy GUI;

③将Filter Mode调成point;④将Max Size的数值调大;

⑤在Inspector下找到compression选项,将其调成High Quality;⑥最后将Format调整为Truecolor;⑦如果图片依然还是比较模糊的话,通过PS调节对比度、光照、以及像素等方法来优化图片,之后再进行以上操作。

3.根据权利要求1所述的一种3D古籍拟真书的拟真方法,其特征在于,所述S1中的3D书籍模型中建立了翻译系统,为用户在翻看书籍时若遇文字疑惑处,提供两个方案:一是通过动态手势,实现文字贴图与解释贴图切换;二是通过语音交互,利用语音识别和语音合成将文言文解释转变成语音形式,传送给用户,具体包括以下步骤:

步骤一:申请百度翻译API进入百度翻译开放平台,按照步骤注册申请并填写好自己的个人信息,申请成功后,获得可写入代码的一些信息;

步骤二:利用VS C#编写百度翻译界面打开在unity创建的项目-拟真书,在Assets中创建一个C#脚本文件,双击打开C#脚本文件,默认状态下是使用MonoDevelop打开,如果要将工具换成VS2010则需要在选择菜单栏上的Edit选项,在下拉框中点击preference选项;在unity Preferences界面,选择第二项External Tools,把External Script Editor选择VS2010;然后再次打开C#脚本文件,初次开启需要加载;加载结束,就可以在VS中编辑Unity3d使用的C#代码;再添加两个button按钮,即button1执行翻译功能,button2实现语音朗读功能;

2

CN 110457622 A

权 利 要 求 书

2/3页

步骤三:建立一个含有百度翻译的API的DLL文件①开VS文件—新建—项目—C#--类库,输入“百度翻译”作为DLL项目,创建项目;②入UnityEngine UnityEditor;这两个文件放在unity安装目录的Unity\\Editor\\Data\\Managed路径下;右键点击解决方案—添加引用—选择百度翻译API;

③如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine和UnityEditor;

步骤四:将DLL文件调用命令写入代码中在上面所提到的按钮button1和button2,在它们的单击事件中分别写入含有百度翻译API的DLL文件的调用代码和引用System.Speechd的TTS,最后可进行测试程序的步骤。

4.根据权利要求1所述的一种3D古籍拟真书的拟真方法,其特征在于,所述S5具体包括以下步骤:

S501:读取视频与函数设置;S502:RGB空间与HSV空间转换;S503:去噪和修复空洞;S504:HOG特征提取;S505:三帧提取与填充动画;S506:手势匹配与命令执行;其中,所述步骤S502中的RGB空间与HSV空间转换采用以下映射:

V=Max(R,G,B)

当人体肤色色调在红色区域最为稳定,在图像中的表现就是R最大,G其次,B最小,用到以下表达式即:

V=R。

5.根据权利要求1所述的一种3D古籍拟真书的拟真方法,其特征在于,所述S6中的全息膜反射采用以下技术:

S601:对物光信息的采集;S602:对物光信息的处理;S603:根据编码方法将全息平面上的光场分布用计算全息图透过率表示;S604:全息图的记录存储与再现;其中,所述S602具体还包括以下步骤:S6021:抽样,对图像的抽象以及对全息图的抽样,当需要实现新的记录、传输以及处理时,要用离散函数值点集或是它的抽样值表示这个连续函数:

对f(x,y)抽样,抽样后的函数为fs(x,y),

3

CN 110457622 A

权 利 要 求 书

3/3页

即:

输入图像面积:(Δx)2,频带面积:(Δv)2,即N=(ΔxΔv)2S6022:计算,运用物理定律求出全息平面上的光场分布。

4

CN 110457622 A

说 明 书

一种3D古籍拟真书的拟真方法

1/10页

技术领域

[0001]本发明属于3D模拟的技术领域,特别是涉及一种3D古籍拟真书的拟真方法。背景技术

[0002]在互联网+背景下,许多传统出版单位纷纷转型,将大量的实体书转换成电子书,并对诸多古籍进行了数字化处理。但对于书籍的处理目前也仅仅局限于数字化,这种模式的局限随着3D全息、虚拟现实与增强现实等技术的横空出世被进一步扩大。用户的视角及其体验感在随着科技的发展被分别逐步地放大与细化,电子书已经满足不了人们对于书籍内容生动化、细致化、动态化的精致需求。[0003]在现代社会中,目前3D技术仅应用于大部分热门的虚拟现实型的动漫、游戏等领域。绝大多数的科技公司都未曾或较少的开发关于古籍保护与阅读方面的产品。各大景区或博物馆图书馆等记载古籍较为丰富的地方也很少使用科技创新型的讲解方式。缺少趣味性的科技创新,无法激起人们对古代文化的兴趣,无法深入了解其精髓。因此,有必要涉及一种用于古籍的3D拟真书,以实现文物古籍的可触摸,全方位立体化展示文物古籍的内容,拉近古籍与人们之间的距离;赋予古代文物更深刻的文化内涵,激起人们对古代文明的兴趣,带给人们视觉与触觉上的震撼。发明内容

[0004]本发明为解决上述背景技术存在的技术问题,提供一种3D古籍拟真书的拟真方。[0005]本发明通过以下技术方案来实现:一种3D古籍拟真书的拟真方法,具体包括以下步骤:

[0006]S1:在设备终端的处理器中的unity中新建3D拟真书的project,建立3D书籍模型构成unity project,通过扫描仪将书籍的内容和图片作为3D书籍书页贴图采集到project中,并标明每张书页的序号;[0007]S2:选用3D环形展示柜,所述3D环形展示柜被分成至少10个部分,每个部分均通过无线网设备与设备终端的处理器中的unity project通讯连接;所述3D环形展示柜通过无线网设备配置有与之相匹配的耳机和眼镜;[0008]S3:在移动终端上申请微信API,下载SDK文件提供应用程序编程接口并在相应的文档中写入注册接口与授权接口,使得微信与unity project能够相互调用;[0009]S4:用户通过扫描相应的微信二维码,登录微信程序界面,其中含有书籍选择、翻译界面调用相应的功能;[0010]S5:架设一台普通摄像头,与读取视频软件VFW相连接,将拍摄的RGB图像转换成HSV图像,再经过去噪与HOG特征提取,关键帧提取进行手势匹配,实现动态手势识别;[0011]S6:在unity project中,将3D书籍翻页动画切分成四个分屏,设置四个摄像头,精确计算四个坐标,经过全息膜反射,使其在相同屏幕上的同一个位置实现重合。[0012]在进一步的实施例中,所述S1中的3D书籍模型具体包括以下流程:①打开所建的

5

CN 110457622 A

说 明 书

2/10页

Project,在Materials中找到相应的贴图;[0013]②点击贴图,点击右手边的Inspector选项,在Texture Type选项中,选择Editor GUI and Legacy GUI;[0014]③将Filter Mode调成point;[0015]④将Max Size的数值调大;

[0016]⑤在Inspector下找到compression选项,将其调成HighQuality;[0017]⑥最后将Format调整为Truecolor;[0018]⑦如果图片依然还是比较模糊的话,通过PS调节对比度、光照、以及像素等方法来优化图片,之后再进行以上操作。[0019]在进一步的实施例中,所述S1中的3D书籍模型中建立了翻译系统,为用户在翻看书籍时若遇文字疑惑处,提供两个方案:一是通过动态手势,实现文字贴图与解释贴图切换;二是通过语音交互,利用语音识别和语音合成将文言文解释转变成语音形式,传送给用户,具体包括以下步骤:[0020]步骤一:申请百度翻译API[0021]进入百度翻译开放平台。按照步骤注册申请并填写好自己的个人信息,申请成功后,获得可写入代码的一些信息;[0022]步骤二:利用VS C#编写百度翻译界面[0023]打开在unity创建的项目-拟真书,在Assets中创建一个C#脚本文件,双击打开C#脚本文件,默认状态下是使用MonoDevelop打开,如果要将工具换成VS2010则需要在选择菜单栏上的Edit选项,在下拉框中点击preference选项;在unity Preferences界面,选择第二项External Tools,把External Script Editor选择VS2010;然后再次打开C#脚本文件,初次开启需要加载;加载结束,就可以在VS中编辑Unity3d使用的C#代码;再添加两个button按钮,即button1执行翻译功能,button2实现语音朗读功能;[0024]步骤三:建立一个含有百度翻译的API的DLL文件[0025]①打开VS文件—新建—项目—C#--类库,输入“百度翻译”作为DLL项目,创建项目。

[0026]②引入UnityEngine UnityEditor;这两个文件放在unity安装目录的Unity\\Editor\\Data\\Managed路径下。右键点击解决方案—添加引用—选择百度翻译API;[0027]③如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine和UnityEditor;[0028]步骤四:将DLL文件调用命令写入代码中[0029]在上面所提到的按钮button1和button2,在它们的单击事件中分别写入含有百度翻译API的DLL文件的调用代码和引用System.Speechd的TTS,最后可进行测试程序的步骤。[0030]在进一步的实施例中,所述S5具体包括以下步骤:[0031]S501:读取视频与函数设置;[0032]S502:RGB空间与HSV空间转换;[0033]S503:去噪和修复空洞;[0034]S504:HOG特征提取;[0035]S505:三帧提取与填充动画;

6

CN 110457622 A[0036]

说 明 书

3/10页

S506:手势匹配与命令执行;其中,所述步骤S502中的RGB空间与HSV空间转换采用

以下映射:

[0037][0038]

V=Max(R,G,B)

[0039]当人体肤色色调在红色区域最为稳定,在图像中的表现就是R最大,G其次,B最小,用到以下表达式即:

[0040][0041]

V=R。

[0043]在进一步的实施例中,所述S6中的全息膜反射采用以下技术:[0044]S601:对物光信息的采集;[0045]S602:对物光信息的处理;[0046]S603:根据编码方法将全息平面上的光场分布用计算全息图透过率表示;[0047]S604:全息图的记录存储与再现;[0048]其中,所述S602具体还包括以下步骤:[0049]S6021:抽样,对图像的抽象以及对全息图的抽样,当需要实现新的记录、传输以及处理时,要用离散函数值点集或是它的抽样值表示这个连续函数:[0050]对f(x,y)抽样,抽样后的函数为fs(x,y),

[0051][0052]

[0042]

即:

输入图像面积:(Δx)2,[0053]频带面积:(Δv)2,[00]即N=(ΔxΔv)2[0055]S6022:计算,运用物理定律求出全息平面上的光场分布。[0056]本发明的有益效果:本发明创建3D拟真系统,为各大景区,博物馆,图书馆等提供更为便捷的创新科技的古籍阅览与讲解服务,是利用3D全息、动态手势识别等技术将古代晦涩难懂的历史文明生动化,具体化,形象化,例如一改古籍内容苦涩难懂的特点,实现文物古籍的可触摸,全方位立体化展示文物古籍的内容,拉近古籍与人们之间的距离;赋予古代文物更深刻的文化内涵,激起人们对古代文明的兴趣,带给人们视觉与触觉上的震撼。附图说明

[0057]图1为本发明实现手势识别的流程图。

[0058]图2为本发明S503中去噪和修复空洞的效果图。[0059]图3为本发明S506中的数据库中的部分手势图。

7

CN 110457622 A

说 明 书

4/10页

具体实施方式

[0060]在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。

[0061]一种3D古籍拟真书的拟真方法,具体包括以下步骤:[0062]S1:在设备终端的处理器中的unity中新建3D拟真书的project,建立3D书籍模型构成unity project,通过扫描仪将书籍的内容和图片作为3D书籍书页贴图采集到project中,并标明每张书页的序号;[0063]S2:选用3D环形展示柜,所述3D环形展示柜被分成至少10个部分,每个部分均通过无线网设备与设备终端的处理器中的unity project通讯连接;所述3D环形展示柜通过无线网设备配置有与之相匹配的耳机和眼镜;[00]S3:在移动终端上申请微信API,下载SDK文件提供应用程序编程接口并在相应的文档中写入注册接口与授权接口,使得微信与unity project能够相互调用;[0065]S4:用户通过扫描相应的微信二维码,登录微信程序界面,其中含有书籍选择、翻译界面调用相应的功能;[0066]S5:架设一台普通摄像头,与读取视频软件VFW相连接,将拍摄的RGB图像转换成HSV图像,再经过去噪与HOG特征提取,关键帧提取进行手势匹配,实现动态手势识别;[0067]S6:在unity project中,将3D书籍翻页动画切分成四个分屏,设置四个摄像头,精确计算四个坐标,经过全息膜反射,使其在相同屏幕上的同一个位置实现重合。[0068]首先,用户通过扫描展柜上的二维码登录小程序,小程序包括文物古籍的选择界面,以及模式选择,然后利用Activity来调用unity工程,从而实现相应的功能,具体方案步骤如下:[0069](一)微信接入

[0070]1.在微信开发平台上注册应用,申请App id和App Secret;[0071]2.下载sdk文件,文件包括libWeChatSDK.a,WXApi.h,WXApiObject.h三个;[0072]3.解压后,在lib目录下有两个jar包,选用WeChat-sdk-android-with-mta-1.3.4.jar,这个jar包用来给unity调用,作为unity和jar包接口之间的桥梁;[0073]4.用eclipse新建一个Android工程,导入unity中关于编译Android程序的jar包:classes.jarproperties-Java build path-Add External JARs;[0074]5.让主Activity继承unityplayerActivity,方便在unity中进行一些接口调用。在Android工程中新建一个lib目录,把上面的WeChat-sdk-android-with-mta-1.3.4.jar放进去,在onCreate中创建api对象。[0075]6.在微信开放平台的文档中,需要进行注册接口的调用,因此需要写注册接口与授权接口,且其中含有用来作为校验标志的方法。

[0076]7.-(void)onReq:(BaseReq*)reqonReq是微信终端向第三方程序发起请求,要求第三方程序响应。第三方程序响应完后必须调用sendRsp返回。在调用sendRsp返回时,会切回到微信终端程序界面。

[0077]-(void)onResp:(BaseResp*)resp如果第三方程序向微信发送了sendReq的请求,

8

CN 110457622 A

说 明 书

5/10页

那么onResp会被回调。sendReq请求调用后,会切到微信终端程序界面。[0078]当sendReq给微信之后,微信客户端会受到我们给它发的信息,它会启动自己的Activity。在这个Activity,你点取消按钮或者确认登录按钮,微信的Activity都会新建一个叫WXEntryActivity的程序,从而调用onResp。

[0079]8.WXEntryActivity需要放在以wxapi命名的文件下面,因此需要新建一个wxapi文件夹,并且Activity也需要以WXEntryActivity来命名,继承Activity并继承接口IWXAPIEventHandler。它也是在onCreate中通过WXAPIFactory创建一个api对象,调用接口handleIntent,进而收到微信的回调。回调回来的数据结构为BaseResp,我们要根据type转化为对应的子类,由于我们要将数据传输给unity,所以需要编写一个单独的类专门转成json,一个专门的类作为unity的消息发送器,最后将代码打成jar包导入到unity中。[0080](二)Unity工程

[0081]1.在unity工程Assets目录下新建Plugins/Android/libs目录,将SPHelper.jar和WeChat-sdk-android-with-mta-1.3.4.jar放进去。

[0082]2.接着是AndroidManifest,我们至少要有两个Activity,一个是主Activity,一个是WXEntryActivity。此外,我们还需要添加相应的权限。

[0083]3.通过com.unity3d.player.UnityPlayer创建一个AndroidJavaClass对象:m_jc然后通过这个对象GetStatic(\"currentActivity\")得到一个AndroidJavaObject对象:m_jo接着m_jo.Call(\"RegistWXApi\")和m_jo.Call(\"ReqLogin\")就可以进行使用,进而调用我们上面的java接口了;

[0084]回调回来是通过SendMessage到Unity的一个同名GameObject的方法上的,将它命名为WXSdkAndroidConnector的GameObject,并且挂上脚本,脚本上有个OnRecvMsg的共有成员函数,参数是个字符串。

[0085]其中的Activity包含用户登录后的文物和古籍选择界面,在每个选项下隐藏着三个模式,书籍、动漫及游戏,用户在手机上单击可以触发相应的事件,选择完毕后可以正式使用unity中的project。

[0086]古籍扫描仪扫描出来的是高清图片,然而在3D模型上显示出的内容却很模糊,为此,所述S1中的3D书籍模型具体包括以下流程:①打开所建的Project,在Materials中找到相应的贴图;

[0087]②点击贴图,点击右手边的Inspector选项,在Texture Type选项中,选择Editor GUI and Legacy GUI;[0088]③将Filter Mode调成point;[00]④将Max Size的数值调大;

[0090]⑤在Inspector下找到compression选项,将其调成High Quality;[0091]⑥最后将Format调整为Truecolor;[0092]⑦如果图片依然还是比较模糊的话,通过PS调节对比度、光照、以及像素等方法来优化图片,之后再进行以上操作。根据上述操作能够使贴图清晰很多。[0093]所述S1中的3D书籍模型中建立了翻译系统,为用户在翻看书籍时若遇文字疑惑处,提供两个方案:一是通过动态手势,实现文字贴图与解释贴图切换;二是通过语音交互,利用语音识别和语音合成将文言文解释转变成语音形式,传送给用户,这样既保证了翻译

9

CN 110457622 A

说 明 书

6/10页

的质量,也更加稳定,对于整个系统的稳定性有极大提升,具体包括以下步骤:[0094]步骤一:申请百度翻译API[0095]进入百度翻译开放平台。按照步骤注册申请并填写好自己的个人信息,申请成功后,获得可写入代码的一些信息;[0096]步骤二:利用VS C#编写百度翻译界面[0097]打开在unity创建的项目-拟真书,在Assets中创建一个C#脚本文件,双击打开C#脚本文件,默认状态下是使用MonoDevelop打开,如果要将工具换成VS2010则需要在选择菜单栏上的Edit选项,在下拉框中点击preference选项;在unity Preferences界面,选择第二项External Tools,把External Script Editor选择VS2010;然后再次打开C#脚本文件,初次开启需要加载;加载结束,就可以在VS中编辑Unity3d使用的C#代码;再添加两个button按钮,即button1执行翻译功能,button2实现语音朗读功能;[0098]步骤三:建立一个含有百度翻译的API的DLL文件[0099]①打开VS文件—新建—项目—C#--类库,输入“百度翻译”作为DLL项目,创建项目。

[0100]②引入UnityEngine UnityEditor;这两个文件放在unity安装目录的Unity\\Editor\\Data\\Managed路径下。右键点击解决方案—添加引用—选择百度翻译API;[0101]③如果加入了UnityEngine UnityEditor,在项目中就可以using UnityEngine和UnityEditor;[0102]步骤四:将DLL文件调用命令写入代码中[0103]在上面所提到的按钮button1和button2,在它们的单击事件中分别写入含有百度翻译API的DLL文件的调用代码和引用System.Speechd的TTS,最后可进行测试程序的步骤。[0104]在操作的过程中,为了实现百度翻译界面与3D古籍模型之间的调用:[0105]1.3D古籍模型中的page的name用page+序号来命名,便于区分页数以及编写相应程序。

[0106]2.在每个page下,可以输入以下代码,来实现贴图的切换。

[0107]

[0108]

我们将相关的贴图放到同一个数组型的图片库中,让用户做相应的手势,实现贴

10

CN 110457622 A

说 明 书

7/10页

图的切换。

[0109]3.每一个page下,都有一张通过古籍扫描仪获得的古籍照片和一张古籍文字,PDF格式(古籍修复专业学生修改好之后的且做好了相关的语句切分)[0110]4.除此之外,还需要脚本script1,它可以实现这样的功能:将用户所说的两个序号之间的文字复制到所建的Project里的百度翻译界面的翻译窗口中,并自动执行语音朗读功能。如果用户有需求的话,可以通过语音识别,例如让用户说:我想要翻译①和②之间的文字,通过script1来调用百度在线翻译。[0111]为更好地加强用户体验的感觉,并且方便用户进行操作,体验者可以根据特定的手势进行书页的翻动或文物的全方位展示,藉此采用了摄像头动态手势识别的方式,且使用了一系列的较为常见的方法来实现手势识别功能和优化其效果。[0112]所述S5具体包括以下步骤:[0113]S501:读取视频与函数设置;[0114]S502:RGB空间与HSV空间转换;[0115]S503:去噪和修复空洞;[0116]S504:HOG特征提取;[0117]S505:三帧提取与填充动画;[0118]S506:手势匹配与命令执行。

[0119]为了更好的了解本方案的识别方式,以下对上述的每一步做详细的阐述。[0120]S501:读取视频与函数设置

[0121]①.首先用来读取摄像头拍摄的视频的工具是VFW,它是Microsoft公司开发的一款软件工具包,具有视频捕获、视频单帧捕获、视频编辑、视频播放等通用功能。它的独特之处在于应用灵活,不需要额外设备来播放视频,除此之外还可以利用回调函数来开发其他的视频应用程序。同时利用AVIcap窗口类来实现视频捕获与视频单帧捕捉功能,并可以对采集到的信息实施控制。随后用MSVideo函数将视频捕获窗口与驱动设备相连接。这些操作结束之后,需要设置函数来控制捕获速率和显示大小等等。还要对回调函数进行注册,并在其内部对图像进行一定处理,方便识别。

[0122]②.在回调函数内部我们设置的是对视频单帧中的手势分割与优化操作。由于所需要设计的3D拟真系统的目标是让它实现使用广泛,操作简单,不受地点。所以就光线阴影等因素是必须要考虑的,所以选择利用肤色等几个常见方法来进行手势分割。[0123]S502:RGB空间与HSV空间转换

[0124]人体肤色在空间中具有聚类特征,很容易和其他的物体区分开,会在颜色空间中形成小的聚簇。所以正常情况下大家都是利用肤色来进行手势分割。RGB摄像头拍摄的图像是RGB模式的,不利于肤色分割,而在HSV或者HSI空间中,人体肤色特征最明显,因此需要转换到HSI或者HSV模式来进行分割。我们选择HSV空间模式,因为HSV与人体感知色彩一致。[0125]RGB空间与HSV空间转换采用以下映射:

[0126][0127]

V=Max(R,G,B)

11

CN 110457622 A[0128]

说 明 书

8/10页

当人体肤色色调在红色区域最为稳定,在图像中的表现就是R最大,G其次,B最小,

用到以下表达式即:

[0129][0130]

V=R。

[0132]S503:去噪和修复空洞

[0133]因为在拍摄过程会有一些比较复杂的背景或者电子噪声出现且分布不均匀,导致捕获的图像背景复杂且有很多孔洞。所以需要进一步进行去噪处理,可以采用非线性去除噪声的方法,具体关系如下:

[0131]

[0134]

滤波器等带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声最为有效。除此之外,还可以采用形态学其他方法去修复小面积的孔洞,完善图像,具体完善效果见图2。

[0136]步骤S504:HOG特征提取[0137]S5041:将图片网格化,形成N*N的像素点网格,并将图像灰度化;[0138]S5042:采集每个像素点的梯度的或者边缘方向的直方图,把各直方图在其中的密度计算出来;[0139]S5043:将采集每个像素点的梯度的或者边缘方向的直方图,把所形成的之发个图放在区间中进行对比度归一化;[0140]S5044:最后进行对比度归一化,将区间内的特征向量进行组合,就得到了整个手势的特征向量。[0141]步骤S505:三帧提取与填充动画[0142]首先,手部动作刚开始的那一帧,中间的一帧以及最后的一帧进行S5之前的操作,因为手势动作基本上整个手掌是不动的,是依靠手腕的力量进行一定平移,所以可以直接让它们各自填充成动画;利用的是帧间法来检测手部是否运动以及运动结束;如果在做手势动作时,手部动作幅度偏大,帧间法无法检测出手部开始运动和结束,因此一旦它识别不出来,就截取离它最近的一帧,这种情况会出现两次,即截取开始与结束的帧:中间的一帧则通过整个时间段最中间的时间点来判断提取。[0143]步骤S506:手势匹配与命令执行[0144]建立一个手势匹配库,部分手势图如图3所示,把我们所指定的手势上传,一共五个动态手势,向左翻,向右翻,点击播放以及将画面放大与缩小的手势;进行完上面修复孔洞之后的操作,将导出的手势视频HOG特征向量与手势库进行匹配,通过HOG特征向量辅助判断,增强准确性,选择相似度最大的动态手势,并执行在这个手势下的指令。[0145]本方案采用的是摄像头动态手势的是识别方式,并在较为常见的方法上做出了手

12

[0135]

CN 110457622 A

说 明 书

9/10页

势识别功能和优化其效果,更好的加强了用户体验的感觉,增加了手势识别的精确度和完美性。

[0146]在本发明中,所述S6中的全息膜反射采用以下技术:[0147]S601:对物光信息的采集;[0148]S602:对物光信息的处理;[0149]S603:根据编码方法将全息平面上的光场分布用计算全息图透过率表示;[0150]S604:全息图的记录存储与再现。[0151]对物光信息的采集:对于实际存在着的物体,可以直接利用扫描仪或数字摄像机进行数据采集,而对于实际并不存在的物体,可将物体的函数形式直接键盘输入计算机。此处利用书籍实物进行操作对于后期全息显示造成一定的困难,优先选择设计一个实际不存在的物体,即重新设计一本书籍。[0152]对物光信息的处理:①抽样,它包含了对图像的抽象以及对全息图的抽样。数字计算机信息处理是信息的一种形式,只能对离散的数据进行处理。当需要实现新的记录、传输以及处理时,要用离散函数值点集或是它的抽样值表示这个连续函数。[0153]物函数需要离散化,一般取抽样单元数不超过物的空间带宽积。当刚好都满足抽样定理的时候,物面与谱面的抽样点数是相同的,并且都等于空间带宽积,所以可确定输入图像和全息平面上的抽样点数总数是相同的。[01]对f(x,y)抽样,抽样后的函数为fs(x,y),

[0155][0156]

即:

输入图像面积:(Δx)2,[0157]频带面积:(Δv)2,[0158]即N=(ΔxΔv)2

[0159]一般能以图片格式存储在计算机里的图像便已经实现了图像抽样的离散,确定好其尺寸和空间宽带积就可以进行图像的抽样间隔和全息图的抽样间隔的换算。由于3D拟真书籍制作出发点为利用电脑进行设计的虚拟书籍,所以必须进行抽样这一步骤。[0160]②计算:这一过程要计算物函数在全息平面上的光场分布,是运用物理定律求出全息平面振幅分布。

[0161]光波从物到达全息图的光场复振幅函数,是对应了物函数的变化的,并且在不同的全息图中变化内容也各不相同。

[0162]计算的时候有多种方法可以选择,可使用傅里叶变换全息图、菲涅耳全息图、像全息等方法进行计算,同时用计算机加以辅助。其中,计算机全息中运用的是标量波衍射理论,它是将光波看作标量波进行处理计算的。同时可以借助计算机的图形学中光线追踪发进行计算全息图的制作。

[0163]根据编码方法将全息平面上的光场分布用计算全息图透过率表示:是把二维的复振幅分布变换成为全息图的而为透过率分布。[01]用数学公式表示此过程:hi(x,y)=Ci[f(x,y)][0165]其中,hi(x,y):计算全息图的全息函数,此函数为实值非负函数,f(x,y):输入的空间复值函数,C:编码的变换符号,i:不同的编码方法;

13

CN 110457622 A[0166][0167][0168]

说 明 书

10/10页

设物函数是第(m,n)个抽样点的表示,采用编码公式:其中,Hmn为高度;(m,n)为采样点;

为采样点相位;Amn为振幅值;

然后通过矩形孔的高度和矩形孔的位置来编码复波前的频谱的振幅和相位。

[0169]全息图的记录存储与再现:结束书籍计算全息图的编码后,要寻找适合光学再现的尺寸和方式将计算全息图进行相应的输出。我们选用高分辨率的空间光调制器直接来调制编码结束的图像。尽可能选择每一个抽样单元的大小在微米量级。由于计算全息图通常使用的是光学方法获取波前重现,所以在存储的时候也考虑到这个问题,让存储手段与之相适应。虽然使用传统的计算机绘图仪比较便利,考虑到原书籍模样的全息图像在投影时需要图文皆清晰,就要保证全息图大小不受出图设备的,此处选择使用像元尺寸在微米量级,像素数超过百万的、具有高分辨率电寻址空间光调制器,利用其来替代全息干板,更有效地实现已完成的书籍全息图的输出与动态的再现。

[0170]空间光调制器(SLM)是一种可编程控制的信息输入和实时显示器件,它可以通过空间光调制器对激光束的空间调制而实时的显示多种函数。空间光调制器能够在三维空间之中直接投射光线而形成点,有效地将信息加载到一维或者二维的光学数据场中的器件,把非相干光转化成相干光,进一步实现全息图像生成。它可以将计算机产生的全息图用空间光调制器的点阵单元结构进行重采样,使得计算全息图的信息存储到中用于再现。[0171]SLM的工作区域上分布了微米量级的像素点,每个像素点都可以提供的光场调制。SLM可以加载全息图,再现全息图中记录的原始物光波的波前,实现原始物体三维图像的再现,将通过全息图加载到SLM上,就可以复现出设计的立体图像。利用空间光调制器十分适合进行全息图的动态显示,因为它的单元像素通常情况是液晶之类的电控装置,所以可以实现相应的动态调制。

[0172]将SLM与计算机进行连接后,使书籍全息图以符合原投影系统RGB信号的传输,之后全息图由计算机输出到光学。需要完成如图的流程,依次将它们摆放到光学平台上,先连接激光器电源,然后连接空间光调制器的数据线和计算机以及电源适配器,将CCD与计算机进行连接,即可实现全息影像的显示。[0173]另外,因为本次3D拟真设计选用《山海经》为代表,书中包含大量彩色图,要得到彩色全息图像,还需要进行一番制作。可以通过光栅和滤波器,将一张彩色透明片的红、蓝、绿的信息编码记录在一张黑白胶片上,然后使用单色激光制作彩色的全息图。我们需要先用彩虹全息术获得由红、蓝、绿所成的三个基色彩虹全息图像。之后再用白光透射,可以得到原彩色图的真彩色全息像,所以,在以后的设计实际操作中还需要进一步加强完善。[0174]动态手势识别与计算机全息图像实时生成是贯穿三个模式功能的关键步骤,因此我们将它们放在三个模式前面,且将完整的步骤设计展现出来,确保整个过程毫无问题。[0175]另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。

14

CN 110457622 A

说 明 书 附 图

1/1页

图1

图2

图3

15

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务