EasyAR提供一个灵活的target管理接口,简单易用。你可以在运行时生成EasyAR的target,无需登录网站上传下载很多数据。
EasyAR通过两个步骤来管理target。
第一步是加载配置来设置target。
第二步是将target加载进入tracker中用以跟踪。EasyAR通过异步方式加载和卸载target到tracker,不会阻塞调用线程,因而可以动态增量加载。
Json配置
EasyAR使用json格式来存储target的配置。完整的数据集接口示例如下
{
"images" :
[
{
"image" : "idback.jpg",
"name" : "idback",
"size" : [8.56, 5.4],
"uid" : "uid-string"
}
]
}
上面的json包含了所有可以被EasyAR使用的配置项:target图像路径、target名字、target大小以及target的uid。这里面只有target图像路径是必需的。所以下面这个json也是可接受的。
{
"images" :
[
{
"image" : "argame00.jpg",
"name" : "argame"
}
]
}
当然这个也可以。
{
"images" :
[
{
"image" : "argame00.jpg"
}
]
}
你可以将多个target放入json文件中然后一起或分别加载。
{
"images" :
[
{
"image" : "argame00.jpg",
"name" : "argame"
},
{
"image" : "idback.jpg",
"name" : "idback",
"size" : [8.56, 5.4],
"uid" : "uid-string"
}
]
}
{
"images" :
[
{
"image" : "sightplus/argame01.jpg",
"name" : "argame01"
},
{
"image" : "sightplus/argame02.jpg",
"name" : "argame02"
},
{
"image" : "sightplus/argame03.jpg",
"name" : "argame03"
}
]
}
有时你并不太关心像图像大小或名字这样细节的配置,只需要加载很多图像并生成target。因此我们也提供了简化的配置方式。
{
"images": [
"argame00.jpg"
]
}
如上,你只需要写一行图像路径就可以了。当有很多图像的时候,写法如下,
{
"images": [
"argame00.jpg",
"argame01.jpg",
"argame02.jpg",
"argame03.jpg",
"argame04.jpg",
"argame05.jpg"
]
}
当然,你也可以将上面这些配置组合进一个json文件。下面这个示例演示了一个组合,并使用了不同的路径书写方式。路径书写需要确保是unix方式的(即使用 / 来分隔路径元素)。当前版本的EasyAR不支持非ASCII字符的路径,不支持中文路径。
{
"images": [
"path/to/argame00.jpg",
"path/to/argame01.png",
"argame02.jpg",
{
"image" : "path/to/argame03.jpg"
},
{
"image" : "argame04.png",
"name" : "argame"
},
{
"image" : "idback.jpg",
"name" : "idback",
"size" : [8.56, 5.4],
"uid" : "uid-string"
},
"c:/win/absolute/path/to/argame05.png",
"/unix/absolute/path/to/argame06.jpg"
]
}