为什么easyar 识别图没有立方体识别

EasyAR 2.0发布,让AR开发者用上中国人自己的SDK - 动点科技
TechNode TV
全景 VR 摄像头 Insta360 Air 评测:什么?你的照片还是平面的?
开启微信,扫一扫
如果你的产品足够锐意创新,欢迎
输入您的邮箱地址:
开启微信,扫一扫EasyAR的一次学习经历 - 简书
EasyAR的一次学习经历
产品经理有设想将AR元素引入到新的APP中。这是比较时髦的元素,但是iOS原生还没有支持。上gitHub也找不到star上千的库,搜百度,也没有很好的扫盲文章。在即将放弃的时候,“视+”应用和EasyAR这个免费的AR第三方库被发现了。
分Unity和Native两种类型。不是纯游戏,而是在iOS应用中一个插件,所以Unity暂时不考虑。
这个据说是用EasyAR库的,并且已经有APP了,也下载用了,感觉还是挺有意思的。
整个SDK有212M,比较大。不过这个是支持N多平台的,其中iOS的framework大小为22M
Native的Sample包含Android和iOS两部分,最基础的HelloAR打包之后的大小为13.3M
使用前需要在EasyAR的官网注册为开发者,需要用邮箱验证。对于下载的Sample,要运行起来,也要在网上创建应用,提供应用的名字和bundle id,生成一个key,写在程序中。整个过程和友盟差不多。
需要真机调试,提供的framework不支持模拟器,链接会出问题。
好在从XCode7开始,个人账号不交钱也能真机调试了。最低支持版本最好设定为iOS8,提供的是framework,不是以往的.a文件。
提供的framework是一个C++库,很明显是做游戏的。主要的使用场景也是在摄像头拍摄界面加入自定义的动画。HelloAR中,类AR是对easyar.framework的第一层封装;类Render是用OpenGL写的一个立方体;看来还是做游戏的节奏。
主要功能有两个,第一个功能是目标图像识别。目标图片都是jpg格式的,打包在程序中,读入内存,作为识别的目标。打开图片,用HelloAR的程序的摄像头对准图片,能够识别成功。这些目标图像视+APP也在用,也是能够正常识别的。
目标图片.jpg
第二个功能是将虚拟物体和实际的的拍摄场景合二为一,这是AR(增强现实)的核心功能。使用HelloAR识别之后,场景是摄像界面加了一个有色方块。而用视+APP识别之后,则是一个“打地鼠游戏了”。并且还提供了拍照片、拍视频的功能。
HelloAR识别后的场景.jpg
视+APP识别后的场景.jpg
在实际使用中,将HelloAR中那个有色方块替换成自己想要的内容就可以了。可以是静态图片,可以是CA动画,也可以是普通的按钮等控件,当然也可以是OpenGL游戏... .... 也就是替换HelloAR工程中那个Render类。
如果想要互动,也可以提供自己的目标图片,替换掉工程中那些图片就可以了。当然,如果要改图片名字的话,读图片那部分代码的图片名字也要相应改改。重新编译运行,可以发现HelloAR可以识别自定义的图片,识别后照样在图片上面加一个有色方块;这个时候,视+APP就识别不出来了,怎么“扫描”都没有反应了。
自定义目标图片.jpg
HelloAR识别自定义图片.jpg
简单讲,视+APP现在做的事情就是通过摄像头将实际的场景作为背景,然后在此基础上玩小游戏。达到的效果是好像游戏人物来到了现实之中,还是比较有趣的。也能符合AR(增强现实,虚拟和实际结合)这种热门概念,也是比较有创意的。为了减小APP的大小,小游戏都是在用户选定了特定场景之后,(选的方式有两种,一种是识别目标图片,前面已经讲过;另一种是用户选择),从网上下载,还能跟当前火热的“云计算”扯上关系,也是花了不少心思的。比如下面这张让大名鼎鼎的“巫妖王”在自己的键盘上跳来跳去,很有成就感吧。
小游戏下载.jpg
小游戏(巫妖王)运行.jpg
提供的easyar.framework是C++库,可以用Object-C包一层,就可以在Swift的工程中使用。
将计算机中的物体通过摄像头拍摄界面和实际的背景环境合二为一,这是核心功能,能够达到AR的需求。通过屏幕截图,就是当年很好玩的“PS”。
提供了识别特征图片的接口,可以自定义一些交互的手段,这个功能也不错。
自定义的场景最好是游戏和动画,可以做出比较有趣的内容。像视+APP这样的,就可以作为一个“以现实为背景的小游戏平台”。
easyar.framework对于工具类APP来说,还是大了一点,有22M
easyar.framework的C++接口,对于非游戏开发者,不够友好;最好能够提供Object-C接口,或者是Swift接口。
游戏属于沉浸式应用,结合到普通工具类应用中总感觉气氛不对。最好能够提供适合工具类应用的framework。除了游戏,AR应该也有比较广泛的用武之地。
通过摄像头将现实场景搬到手机里,这个主意不错。不过总感觉这是微缩版的“现实”,“现实感”不是很强,还是有点“只是游戏”的感觉。仅仅只是拍照场景,也有点受限。
希望科幻片中虚拟光线的模式能够早日成为现实。虚拟人物通过光线的方式来到现实,可以互动;一关,又回去了,不见了;这样感觉更自然一点。键盘,显示屏......这些成本高,体积大、占地方的东西到时候都可以减掉了.......想想都激动。
“架构师模式”:反复强调,不厌其烦,积极推进。
“工程师模式”:安静编码,不说废话后使用快捷导航没有帐号?
查看: 4542|回复: 4
EasyAR 【UNITY3D】官方样例简单图片识别---识别图和模型
本帖最后由 204有个大坑 于
14:08 编辑
上一篇说了运行官方样例,这篇简单说说识别图和模型
首先,看看官方的这个样例
简直不能更简单了。
1.换识别图你可以这样简单粗暴:找到看着不顺眼的直接换成自己的图片,当然名字还是原来的名字。
2.换模型,就不能简单粗暴了,看看代码,也是一目了然啊
首先,看的是这个HelloARTarget.cs
这里给出了1、2、3、4 四种识别图初始化的方法 在Start函数里,研究一下,也用不了多久啊
四种方法想换啥换啥,想怎么换就怎么换。
然后说一下,另一个脚本EasyImageTargetBehaviour.cs
这个就更简单了啊
四个关键方法,ITargetEventHandler.OnTargetFound、ITargetEventHandler.OnTargetLost、ITargetEventHandler.OnTargetLoad、ITargetEventHandler.OnTargetUnload
算了,就写这么多吧。无聊随便写写。
最近又有很多人问起这个图片识别,然后出模型的问题。我忽然觉得这篇发布得有点草率。对于已经熟悉的人说,确实是简单得不能再简单,我想既然还有人问起,那就应该是还没有熟悉。在这里再把一些更详细的细节说一下,希望能帮到更多的新手吧。
说说加载识别图的方法。前面说的”四种“方法,其实不是很准确,总的来说加载识别图应该分为两大类:一种是直接加载图片,另一种是通过json文件进行加载。
或者说是,一种手动,另一种通过代码。
一、手动直接加载识别图的步骤,及应该注意的一些细节:
1.识别图要放在StreamingAssets目录下,
Path 参数就填识别图的名称,包括后缀名。如果识别图有上一层文件目录,也要加上。name的话,不一定要求一样。
其他参数照默认的就行。
重要的是 Storage 这个,因为这个方法是直接加载StreamingAssets的识别图,所以要选Assets.关于Storage参数,官方手册有说明,我没有去深究,大家自行去理解,也欢迎补充。
2.手动直接加载json文件的步骤和注意事项,与步骤1相似。只是json文件的写法要注意格式,官方文档有说明,
值得注意的是,写文档保存的时候注意编码格式为
UTF-8,(后面不带BOM)的。否则会加载不了。
跟直接加载图片一样,创建好的json文件放在StreamingAssets目录下。Path 参数就填文件名称包含后缀。如果有上一层文件目录,也要加上。name的话,不一定要求一样。
其他参数照默认的就行,Storage&&也是选Assets.
二,通过代码加载识别图,也就是前面说的“四种”方式了。
先看第一种,第一种理解了,其他的也很容易明白,也就不多说了。官方示例是这样的:
//创建target的方法。
& && &&&void CreatTarget(string targetName, out EasyImageTargetBehaviour targetBehaviour)
& && && && &GameObject Target = new GameObject(targetName);
& && && && &Target.transform.localPosition = Vector3.
& && && && &targetBehaviour = Target.AddComponent&EasyImageTargetBehaviour&();
思路也很简单:
1.创建一个GameObject,
2.并添加组件EasyImageTargetBehaviour。
3.把添加了EasyImageTargetBehaviour组件的gameobject 绑定到EasyAR上,这样摄像机可以识别。
代码中体现为:
1和2,就是CreatTarget的整个方法,返回是void,但是参数里面有 out,out的用法大家自行去找资料吧,我理解也不是很深,& & 避免误人子弟。
3则体现在targetBehaviour.Bind(tracker);这个传入的tracker,是通过这个得到的
& &TrackerBehaviour tracker = FindObjectOfType&TrackerBehaviour&();
& &我们回到Unity里面发现,EasyAR这个预设绑定了这个脚本,所以说 绑定到EasyAR上。
4 设置 targetBehaviour.SetupWithImage(&sightplus/argame01.jpg&, StorageType.Assets, &argame01&, new Vector2());跟手动设& &&&置的向对应,主要是路径和类型。
代码中的后面两行,是实例化模型。这个没什么说的。
加载识别图说完了,这时候跑起来应该没问题了。能启动相机,能识别图片了。
说说识别显示模型。
刚刚前面说了,创建target的时候,添加了一个组件EasyImageTargetBehaviour 可还记得?
是的,打开这个脚本 发现它继承ImageTargetBehaviour, ITargetEventHandler这两个:
public class EasyImageTargetBehaviour : ImageTargetBehaviour, ITargetEventHandler
这个脚本还重写了这四个方法:
ITargetEventHandler.OnTargetFound,ITargetEventHandler.OnTargetLost,ITargetEventHandler.OnTargetLoad,ITargetEventHandler.OnTargetUnload
看方法名就知道了。这就是识别、丢失、加载、释放对应的事件触发了。
总的来说,图片识别还是很简单的,步骤也简单:
1.导入EasyARSDK,将预设EasyAR拖到场景中(原有的Main Camrea需删掉),将ImageTarget也拖到场景中
2.初始化EasyAR,需要到官网注册获取Key,详细请看前一篇。
3.加载识别图。
4.识别的回调,再根据自己项目的需求,在四个回调事件中处理就可以了。
以上是个人理解,欢迎指教和探讨。
本帖子中包含更多资源
才可以下载或查看,没有帐号?
精彩评论 (4)
该用户从未签到
也不知道为啥,最后这张图.....
该用户从未签到
也不知道为啥,最后这张图.....
发帖,还真不是件简单的事情啊
该用户从未签到
AR增强现实技术介绍——上海众迅文化传播有限公司
增强现实Augmented Reality,简称 AR。是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。随着随身电子产品运算能力的提升,增强现实的用途已经越来越广。
现在我们可以通过手机/PAD:在平面媒介上呈现建筑规划、呈现立体虚拟空间、现场体验产品效果、360?感受完美产品、让立体宠物互动、体验虚拟互动游戏、轻松实现试衣变装
现在我们可以通过手机/PAD创造肉眼看不到的一切
上海众迅文化传播有限公司长期致力于研发AR增强现实技术,链接虚拟与现实,让智能手机与设备轻松“认识、探索”身边事物,让你更智慧。领先的大规模图像数据识别云平台,支持千万级别以上数据的即时搜索,为合作伙伴提供可定制的识别算法与接口。完美的增强现实互动技术,融合技术与艺术,“即见即得”的沉浸式体验,为品牌提供创新、立体的互动营销方式
上海众迅文化传播有限公司
Shanghai Massthink Culture Communication Co., Ltd.
电话/Tel: +86 21
该用户从未签到
Copyright &
& All Rights Reserved.posts - 8,&
comments - 7,&
trackbacks - 0
QQ前两天的传递火炬,是我第一次直接接触到AR。(虽然之前听同事说过,因为他喜欢玩游戏,PS、3DS等等都玩过,这个技术最开始就是从这里出现的)。所以感觉很有趣,就想自己也试着搞一下玩玩。。。下面是我的初体验。
首先搜索了一下网上有哪些支持的SDK,比较好的几个:Metaio被苹果收购、Vuforia被高通(Qualcomm)卖给PTC后,相对较好的有ARToolKit、Wikitude等。不过国内也有不错的。本着能不看英文就不看英文的想法,我选择了一个国内的引擎:EasyAR。
既然选择了,就马不停蹄的去官网下载相关的资料,下载的空档去看了他们的开发文档。。看了后发现一头雾水,不知道是什么和什么。
下载成功后就先打开官方的demo,不过在文档有说明需要在官网中创建应用,获得key,并在项目中替换自己的key。这里一一照做后运行demo后,拿去扫示例图片,发现有个颜色方块,心情还是挺好的。貌似看到了成功的苗头。
又折腾了一会,发现demo都是出现颜色方块,这样就不好玩了。怎么没有那些炫酷吊炸天的效果呢?。然后我就将官网的那些东西都下载一下。因为逛了论坛的所有帖子有说到需要实现那些效果需要官方的unity的项目,虽然我没有接触过,不懂unity。不过不管了。。下载了再说。。这里上个图,demo的效果。
//一夜无话---------------------------------------------------------------------------------------------------------------------------------------------------------//
第二天回来。继续研究,昨天下班前发了帖子,现在迫不及待去看看。有没有论坛的大大帮忙解决。告诉一下怎么弄。结果很失望,并没有人理我。算了。。继续瞎折腾。
不是说需要unity吗?。虽然不会,但是去下载一下工具。打开项目。(使用unity打开项目是直接选择这个项目的文件夹,不是某个工程文件,我太渣,开始一直找不到文件,不知道怎么打开,墨迹了很久,对照着官网文档,发现他们打开的路径是一个文件夹,并没有文件,就试了一下,结果真的打开了。)。打开了项目后,就想添加自己的key。(文档说使用unity的话,key要在这里配置的,不是在项目中。然后发现添加key也是一个坑,因为我根本找不到。这里给大家上个图,不懂unity的在哪里加上自己的key。)
加上自己的key之后,通过file-&bulid setting。选择iOS项目,就可以导出iOS的项目工程了,打开后。记得改一下Bundle ID。运行,真的有效果了。。下面上几个效果图。
Coloring3D:--可以给小熊上颜色。
至于其他各种炫酷吊炸天的效果则需要使用unity来做。楼主不懂unity。就此打住了。有兴趣的就自己研究一下。。有时间,我也想去学习一下。。太酷了。
阅读(...) 评论()国内首个投入应用的AR引擎:EasyAR正式发布_网易科技
国内首个投入应用的AR引擎:EasyAR正式发布
用微信扫码二维码
分享至好友和朋友圈
网易科技讯 10月20日消息,AWE增强现实国际博览会近日在西安召开,全球3000多AR专业人士和百余家参展企业。上海视辰信息在本次博览会上发布了国内首个投入应用的免费AR引擎——EasyAR长久以来,国内AR开发者一直使用Metaio和Vuforia,过分依赖国外引擎有许多无法克服的弊端,而在两者相继被苹果和PTC收购之后,更使开发者陷入困顿。视辰CEO张小军在EasyAR SDK发布会上讲述了国内开发者受制于国外AR引擎的尴尬处境。第一:收费昂贵,动辄好几万的授权费个人和小型工作室根本无力承担。第二:屡次发生的中断服务,让开发者背负着巨大的商业风险、学习成本和开发成本。第三:严重缺乏本土化服务。没有中文文档和中文社区,学习成本高。服务器在国外,服务器响应慢而且中断率高。由于文化差异,对于本土化的一些特殊需求响应慢。“有了几年的积淀,我们心想,与其受制于人,不如就自己干吧!”张小军谈到自主研发AR SDK的初衷时这样说道,“EasyAR就是希望Make& AR&easier,我们在打造这个引擎时,充分为开发者考虑,注重引擎的可用性、易用性。”EasyAR性能:兼容性高。EasyAR做过200多款机型的测试,之前市场上著名的M记引擎的兼容率不到70%,这就意味着30%的Android机器上出现了闪退的现象。但是EasyAR的兼容率是95%以上,如果进一步排除若干intel cpu的机器,兼容率还会更高。全平台支持:市场调查表明,85%的用户希望得到PC/Mobile的跨平台支持。EasyAR可以流畅的运行在iOS、Android、Windows和MacOS四个操作系统之上。一流的检测跟踪能力:在基本的检测、跟踪性能方面,EasyAR有着国际一流的水准。易用的图集管理:图集管理的易用性对开发者非常重要,EasyAR允许运行时创建、加载图集。意味着无需登录到第三方网站来创建管理图集。同时允许增量、异步加载图集,对App运行流畅度有很大帮助。EasyAR采取了一个独有的mini-server的架构设计,对图集数量不做限制,完全取决于设备内存。注重Unity3D兼容性:市场调查表明,约80%的开发者使用Unity3d制作应用,因此我们非常注意unity3d的兼容性。支持高清视频播放:视频类的AR可以算作AR SDK的标配,在这方面EasyAR也毫不逊色,它支持H.264编码的高清视频播放。特色功能:EasyAR推出了独具特色的小视频录制功能,以动态形式分享AR内容,可以推动社交网络二次传播。3D识别仍待开发:EasyAR 的3D识别功能仍在研发阶段,这也是它相较于Metaio和Vuforia美中不足的地方。在谈到为什么愿意将历时大半年辛苦研发的SDK免费开放时,张小军说:“我们不想藏私,我们想把这么好的东西分享给大家。就像之前一个朋友说的,AR市场最大的问题是应用场景和内容的匮乏。我们希望通过开发SDK,来让更多的开发者不被一些不必要的技术障碍挡在AR市场的门外。这样我们才能做更多的连接,发掘更多的可能性。”
据悉,视辰的另一个产品视+App已全面切换到EasyAR引擎。本次AWE增强现实国际博览会将唯一的Auggie Award颁发给了EasyAR支持的视+AR。“这是一个工业级产品,不是实验室的产物,大家尽可放心用,这个引擎我们帮你测过了!”(胖胖脸)
本文来源:网易科技报道
责任编辑:王晓易_NE0011
用微信扫码二维码
分享至好友和朋友圈
加载更多新闻
热门产品:   
:        
:         
热门影院:
阅读下一篇
用微信扫描二维码
分享至好友和朋友圈

我要回帖

更多关于 easyar识别二维码 的文章

 

随机推荐