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

  • 时间:
  • 浏览:0
  • 来源:大发快3_快3注册网址_大发快3注册网址

0x00 - 前言


看了example后,就会想我本人动动手,这里改改那里修修。.我都 先试着打上去我本人喜欢的marker/nft进行识别。

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

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

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

0x01 - marker制作流程


1.制作marker图片

首先.我都 找到doc/patterns/Blank pattern.png,使用你是什么空白的marker图片制作出我本人我应该 的marker。好的反义词使用你是什么blank pattern,原困分析你是什么空白marker图片的符合marker的基本要求:

  • 可不还可否 是方形。
  • 可不还可否 有连续的边缘(一般来说都是白色或黑色)。另外在marker里边的pattern次要,.我都 使用差别较大的五种颜色分别表示前后景(比这么 处我用黑色表示法拉利logo,白色作为其背景)。默认情况报告下,边缘的淬硬层 占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