关于Vuforia扫描识别图片,最简单的设置识别区域
因为需要做个Vuforia扫描并设置识别区域,查了一些资料发现网上并没太多介绍这块内容。
有看到一个帖子上给了两个解决方案,一个是图片裁剪,但是这个方法太烦了。还有个是遮罩不过因为Vuforia插件中限定了ARCamera的Field of View属性,因此不能改ARCamera拍摄的范围,因此导致另一个Camera拍摄的做遮罩的范围和ARCamera拍摄的范围差不多,这样如果判定区域比较小的话还是会导致拍摄的扫描图在区域外时就进行识别。(除非找到改ARCamera的Field of View属性的接口,改Field of View的值来控制拍摄范围)
因此自己做了个最简单的判断。(萌新都能实现的功能,结果被当初的自己蠢哭了(/ω\))
实现逻辑:获取扫描图在屏幕空间的坐标,然后设置判定区域。判定扫描图的位置是否在判定区域内
如果在判定区域内就进行识别到后的操作,如果不在区域内就执行丢失扫描图的操作。
因为我获取的扫描图是在DefaultTrackableEventHandler脚本中写的因此直接是this获取
//获取扫描图的坐标并转换成屏幕坐标
Vector3 screenPos=Camera.main.WorldToViewportPoint(this.transform.position);
//也可用WorldToScreenPoint,两个函数转换后坐标值范围不同而已。WorldToViewportPoint转换后坐标值范围(0,1)WorldToScreenPoint转换后坐标值范围(0,Canvas的大小)
//设置判断区域(范围根据实际情况设置)
Rect rc=new Rect(0.3f,0.82f,0.7f,0.18f);
//接着就是做简单的比较判断
if(screenPos.x>rc.xMin&&screenPos.x<rc.xMax&&screenPos.y>rc.yMin&&screenPos.y<rc.yMax)
{
//满足条件时的操作
}
else
{
//不满足条件时的操作
}
//这么做后就实现在识别区域内扫描到后才会有操作。但是注意如果默认的一次只能扫描到一个图时,因为识别还是根据拍摄的范围进行识别的,所以会根据第一个识别到的对象操作,其他扫描到的对象可能会pass掉。因此需要设置下一次识别多张图。这样就能完美的实现在识别区域内扫描到才有相应的操作。
不过这个方法比较消耗性能的,但是我一个萌新也想不出什么好的方法了,将就着用吧。
如果有大佬有更好的方法,欢迎提出来。
(✺ω✺)
另外附带ARCamera的属性介绍:
AR交互场景的特殊相机,一般情况下,再创建了该相后,其他相机可以删除,除非你需要相机渲染特定的视图。
①World Center Mode:
SPECIFIC_TARGET:指定一个物体为世界中心的坐标,此物体必须继承Vuforia Behaviour
FIRST_TARGET: 摄像机所照射到的第一个需要识别的目标CAMERA 以摄像机为世界中心坐标
DEVICE_TRACKING:设备追踪,以设备正在追踪的物体,如平面识别
②Camera Device Mode(设备的模式):
MODE_OPTIMIZE_QUALITY: 质量优先,优化质量
MODE_OPTIMIZE_SPEED :速度优先,优化速度
MODE_DEFAULT :默认的模式,在以上两种间做一个平衡,在没有特殊需求时使用
③Max Simultaneous Tracked Images:最大追踪识别图片数量
④Max Simultaneous Tracked Objects:同上,只不过是识别物体。
⑤Digital Eyewear(设备类型):
Handheld :手持
Digital Eyewear : 微软眼镜
Phone + Viewer MR
⑥DataBases:数据库
⑦Mirror Video Background:镜像视频背景
⑧Device Tracker(设备追踪):
Track mode : 追踪模式:旋转,位置
Enable prediction : 启用预测运动
Model correction mode : 模型校正模式:NONE,头戴,手持
⑨CameraDevice(WebCam):网络摄像头
关于Vuforia扫描识别图片,最简单的设置识别区域相关推荐
- JAVA 识别图片中二维码 opencv 识别精准
JAVA 识别图片中二维码 opencv 识别精准 文章目录 JAVA 识别图片中二维码 opencv 识别精准 一.添加依赖 二.依赖配置 三.测试类 四.结果 提示:以下是本篇文章正文内容,下面案 ...
- python识别图片上的文字_python识别图片文字
因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...
- 树莓派c语言人脸识别,树莓派实现简单的人脸识别
前言 这篇文章属于此系列: 一个用树莓派做的会聊天,能人脸识别(支持云台追踪)和发送邮件的小玩具 https://blog.csdn.net/yonglisikao/article/details/8 ...
- 吗咿呀嘿-用js来搞个简单的人脸识别
缘起 "蚂蚁呀嘿,蚂蚁呀呼,蚂蚁呀哈" 相信最近好多人的朋友圈或者抖音都被类似视频刷过屏! 类似的效果最早是在2020年初,那个时候大家应该还都记得,几乎所有的人都因为疫情原因被迫 ...
- OPenCV4-颜色识别(一)调色板和简单的颜色识别
OPenCV4-颜色识别(一)调色板和简单的颜色识别 使用 OPenCV4 做颜色识别十分简单.本文章使用 python 语言来实现一个调色板和简单的颜色识别. 1.调色板 绘制一个调色板对颜色识别非 ...
- 教你用OCR文字识别工具快速识别图片上的文字
OCR文字识别工具,指利用OCR(Optical Character Recognition,光学字符识别) 技术,将图片.照片上的文字内容,直接转换为可编辑文本的工具.软件可以把图片 转换成可以编辑 ...
- 高通vuforia扫描图片
最近接触AR技术,学习了一下使用高通扫描图形,出现3d物体. 记录一下操作过程 1.登陆高通网站 https://developer.vuforia.com/ 2.如果注册过的用户请直接登陆,没登陆过 ...
- Android实现二维码扫描功能(四)-ZXing识别图片二维码,相册选图
简介 上一篇 Android实现二维码扫描功能(三)-闪光灯控制介绍了光线较弱情况下开启闪光灯来辅助二维码识别的方法. 本篇我们介绍如何识别相册中的图片(含二维码) 动态演示 使用模拟器录制了动画演示 ...
- 二维码生成、扫描、图片识别(Zxing)
这样的例子虽然已经很多了,不过我在网上浏览了一圈,也没找到几个图库二维码图片识别例子,好的算法识别率才高.这里有一个好点的算法,算法不是我写的,只是作为整理记录,给众多安卓开发者一个方便.demo的U ...
最新文章
- 要获得“机器学习或数据科学”的工作,到底选哪种编程语言更好?
- 追踪源码自定义负载均衡策略
- 敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的
- [css] 如何使用CSS绘制一个汉堡式菜单
- Oracle 存储过程+JOB初学
- SAP License:外购和自产货物视同销售业务理解
- (二)surging 微服务框架使用系列之surging 的准备工作consul安装(转载 https://www.cnblogs.com/alangur/p/8377977.html)...
- 《C++ Primer》读书笔记
- c4d序列号_(图文+视频)野分享:手把手教你免费获取Megascans所有资产并应用于C4D...
- 15款免费远程控制软件下载
- 离散数学杜忠复版答案_离散数学(第二版)课后习题答案详解(完整版)
- 【华为OD机试真题 JS】字符串分割
- mysql还原数据库非常慢_mysql还原数据库慢
- sklearn实现Adaboost算法(分类)
- 博大考神》2006版之Word2003题库版操作提示
- php中关于冬夏时令切换引发的问题
- 微信api接入验证的坑!!!
- Android编程--常用代码
- python虚拟环境管理 —— 以 workon 切换虚拟环境
- 从NIB中加载VIEW