【AR实验室】ARToolKit之制作自己的Marker/NFT

  • 时间:
  • 浏览:1
  • 来源:大发快3_快3最新版下载_大发快3最新版下载

0x00 - 前言


看多example后,就会想当时人动动手,这里改改那里修修。我们歌词 我们歌词 我们歌词 我们歌词 先试着换成当时人喜欢的marker/nft进行识别。

比如我做了2个法拉利的marker:

还有网上找了2个法拉利logo的图片用于NFT(Natural Feature Tracking):

对应显示的模型是原来的(仅供参考^_^!)

0x01 - marker制作流程


1.制作marker图片

首先我们歌词 我们歌词 我们歌词 我们歌词 找到doc/patterns/Blank pattern.png,使用这俩 空白的marker图片制作出当时人你会的marker。未必使用这俩 blank pattern,是可能这俩 空白marker图片的符合marker的基本要求:

  • 只能是方形。
  • 只能有连续的边缘(一般来说都在白色或黑色)。另外在marker上方的pattern次要,我们歌词 我们歌词 我们歌词 我们歌词 使用差别较大的这俩 颜色分别表示前后景(比只能处我用黑色表示法拉利logo,白色作为其背景)。默认状态下,边缘的深度1占pattern图片的1/4。

     - 被边缘所包围的次要之后我们歌词 我们歌词 我们歌词 我们歌词 所称的pattern,其只能具有旋转不对称性。pattern可不里能 是黑白的,也可不里能 是彩色的。

我们歌词 我们歌词 我们歌词 我们歌词 将法拉利的logo弄成黑白的,再换成到blank pattern中。得到以下maker:

2.训练marker图片

我们歌词 我们歌词 我们歌词 我们歌词 使用这俩 在线工具"Tarotaro"进行训练(可能想离线训练,可不里能 使用ARToolKit提供的mk_patt的离线工具)。

a.打开Tarotaro网站并点击下面红框链接。

b.会打开如下的工具。这时将你只能训练的marker倒进摄像头视野中,直到marker边缘突然出显红色边框。

界面介绍:

    Mode Select:有Camera Mode和Load marker image这俩 最好的方法。我们歌词 我们歌词 我们歌词 我们歌词 下面使用的之后Camera Mode最好的方法。Load marker image是直接输入本地的marker图片进行训练。

    Marker SegmentsMarker Size我还都在很清楚是哪几个。我们歌词 我们歌词 我们歌词 我们歌词 这选者 默认参数即可。

c.当marker边缘突然出显红色边框后,我们歌词 我们歌词 我们歌词 我们歌词 点击Get Pattern按钮,就可不里能 得到下图,我们歌词 我们歌词 我们歌词 我们歌词 可不里能 看多marker边框变成绿色了,此时我们歌词 我们歌词 我们歌词 我们歌词 选者 Save Current按钮就可不里能 得到对应的pattern文件,此处将其命名为ferrari.patt(初始后缀是pat,可不里能 当时人修改为patt)。

3.修改配置文件

我们歌词 我们歌词 我们歌词 我们歌词 选者 example中的ARApp2的配置文件进行更改。主之后更改models.dat和markers.dat文件。

我们歌词 我们歌词 我们歌词 我们歌词 先将ferrari.patt文件和网上搜罗来的ferrari模型文件导入到ARApp2中。

在markers.dat换成

在model.dat换成

4.编译运行

配置文件修改完成后,我们歌词 我们歌词 我们歌词 我们歌词 就可不里能 编译运行了。请看结果:

0x02 - NFT制作流程


1.选者 图片

NFT其实之后提取图片的Natural Feature(自然特性)之后进行跟踪。ARToolKit中会先对图片进行避免,得到一组数据,后续追踪过程使用的其实是避免得到的数据集。并都在哪几个图片都可不里能 进行NFT,对于进行NFT的图片,有以下其他要求:

  • 追踪的图片只能是矩形图片。
  • 图片只能是jpeg格式。(大次要商用AR SDK支持多种图片格式,比如EasyAR)
  • 图片这俩 要有足够多的细节和边缘(自例如度较低,之后空间频率较高)。可能图片涵盖小量模糊可能细节较少的色块,追踪效果会比较差。
  • 图片分辨率的提升会使ARToolKit提取出更多的特性点,这对于相机接近图片的状态可能使用高精度相机的状态,会大大提升追踪效果。

什么都有 我选者 下面这张图片做NFT:

2.提取图片特性

利用genTexData来生成对应的追踪数据

选者 提取图片特性的程度,数值越大提取的特性只能多。当相机离图片越近的之后,追踪效果会越好。此处使用默认值。

使用Photoshop查看该图片:

发现其分辨率是72,什么都有 Enter resolution to use这次要输入72。

而最大最小分辨率范围,根据Training ARToolKit Natural Feature Tracking (NFT) to Recognize and Track an Image文章中提到的,根据不同相机分辨率及相机远近有不同取值,一般使用20~120最为为宜。而我们歌词 我们歌词 我们歌词 我们歌词 这边最大分辨率只能72,什么都有 我选者 20~72。

得到image set(ferrari-nft.iset)和featureList(ferrari.fset&ferrari.fset3)两组数据

我们歌词 我们歌词 我们歌词 我们歌词 使用dispFeatureSet工具可不里能 显示一下看看特性点提取状态:

3.修改配置文件

我们歌词 我们歌词 我们歌词 我们歌词 修改ARAppNFT的配置文件来试验我们歌词 我们歌词 我们歌词 我们歌词 的成果。

首先换成对应训练数据:

修改markers.dat

和上方marker图片训练一样,换成法拉利模型,并在models.dat中换成法拉利模型显示信息:

4.编译运行

0x03 - 参考资料


  • Creating and Training Traditional Template Square Markers

  • Training ARToolKit Natural Feature Tracking (NFT) to Recognize and Track an Image