AR Tag介绍

什么是AR Tag?ARTag(AR标签,AR是“增强现实”的意思)是一种基准标记系统,可以理解为其他物体一种参照物,看起来类似二维码,但其编码系统和二维码还是有很大区别,多用在相机标定,机器人定位,增强现实(AR)等应用场合,其主要作用是能够反映出相机与标签的位姿关系。进而可以反映出场景中物体与相机的参照关系。AR Tag是什么样子?一个普通的ARTag形如下图,图案代表的是一个...
摘要由CSDN通过智能技术生成

什么是AR Tag?

ARTag(AR标签,AR是“增强现实”的意思)是一种基准标记系统,可以理解为其他物体一种参照物,看起来类似二维码,但其编码系统和二维码还是有很大区别,多用在相机标定,机器人定位,增强现实(AR)等应用场合,其主要作用是能够反映出相机与标签的位姿关系。进而可以反映出场景中物体与相机的参照关系。

AR Tag是什么样子?

一个普通的ARTag形如下图,图案代表的是一个数字,下图是数字1编码后产生的图案。
这里写图片描述
它是一个黑白栅格化图像,最小单元为一个小方块,整个ARTag为10*10网格,边缘由2个单位厚的黑色方块组成,中心为6*6的有效数据区,黑色为0,白色为1,这就代表一个36位的二进制数。这36位中,其中10位表示有效数据,另外26位是用来容错编码的,进过一系列编码后,ARTag标签可以表示2002种图案,这里面人为排除了若干不易识别的图案。

ARTag在机器人领域的作用

其中一个很重要的作用就是识别物体与相机的位姿关系。物体上可以贴上ARTag,或者在平面上贴上ARTag标签,用来标定相机。摄像头识别到ARTag后,可以算出标签在相机坐标中的位置与姿态。下图为Realsense D415深度相机识别到一组ARTag后,标记出每个标签的坐标方位。

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
easyAR是一个基于AR技术的开发平台,提供了手势识别的功能。在easyAR中,可以通过手势来触发AR应用中的不同操作,比如旋转、缩放、切换场景等。 要使用easyAR手势识别功能,需要先创建一个AR应用,并且在其中添加手势识别的功能。手势识别可以通过easyAR提供的API来实现,具体步骤如下: 1. 导入easyAR SDK,并在代码中初始化。 ```java public class MainActivity extends AppCompatActivity { private static final String TAG = MainActivity.class.getSimpleName(); private ARVideoView arVideoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化easyAR EasyAR.initialize(this, "your_key_here", new EasyARCallBack() { @Override public void onCallBack(int code, String msg) { Log.i(TAG, "EasyAR init result: " + code); } }); // 获取ARVideoView对象 arVideoView = findViewById(R.id.ar_video_view); } } ``` 2. 在布局文件中添加ARVideoView控件。 ```xml <com.easyar.Engine> <com.easyar.ARVideoView android:id="@+id/ar_video_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </com.easyar.Engine> ``` 3. 添加手势识别的回调函数,监听手势的触发事件。 ```java // 创建手势识别器 GestureTracker gestureTracker = new GestureTracker(); // 监听手势识别事件 gestureTracker.attach(arVideoView); gestureTracker.setOnGestureListener(new GestureTracker.OnGestureListener() { @Override public void onSingleTap() { // 单击事件 } @Override public void onDoubleTap() { // 双击事件 } @Override public void onLongPress() { // 长按事件 } }); ``` 4. 在AR场景中添加手势识别的目标。 ```java // 创建手势识别目标 ImageTarget target = ImageTarget.createFromImageFile("target.jpg", PathType.Absolute); // 为目标添加手势识别功能 GestureTarget gestureTarget = GestureTarget.createFromTarget(target); gestureTarget.attachTracker(gestureTracker); gestureTarget.setGestureType(GestureType.SingleTap); ``` 以上就是使用easyAR实现手势识别的基本步骤。具体的实现方式还需要根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值