vuforia-api
v0.3.2
Published
Node.js client for the Vuforia Web Services API (VWS API) and the Vuforia Web Query API (VWQ API)
Downloads
289
Maintainers
Readme
vuforiajs
Node.js client for the Vuforia Web Services API (VWS API) and the Vuforia Web Query API (VWQ API).
usage
// load module
var vuforia = require('vuforia-api');
// init client with valid credentials
var client = vuforia.client({
// Server access key (used for Vuforia Web Services API)
'serverAccessKey': 'your server access key',
// Server secret key (used for Vuforia Web Services API)
'serverSecretKey': 'your server secret key',
// Client access key (used for Vuforia Web Query API)
'clientAccessKey': 'your client access key',
// Client secret key (used for Vuforia Web Query API)
'clientSecretKey': 'your client secret key'
});
// util for base64 encoding and decoding
var util = vuforia.util();
create a new target
var target = {
// name of the target, unique within a database
'name': 'my target',
// width of the target in scene unit
'width': 32.0,
// the base64 encoded binary recognition image data
'image': util.encodeFileBase64(__dirname + '/someImage.png'),
// indicates whether or not the target is active for query
'active_flag': true,
// the base64 encoded application metadata associated with the target
'application_metadata': util.encodeBase64('some metadata about your image')
};
add target to cloud database
client.addTarget(target, function (error, result) {
if (error) { // e.g. [Error: AuthenticationFailure]
console.error(result);
/*
example of result from the vws API:
{
result_code: 'AuthenticationFailure',
transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
}
*/
} else {
console.log(result);
/*
example of result from the vws API:
{
target_id: '93fd6681f1r74b76bg80tf736a11b6a9',
result_code: 'TargetCreated',
transaction_id: 'xf157g63179641c4920728f1650d1626'
}
*/
}
});
list all targets within cloud database
client.listTargets(function (error, result) {
if (error) { // e.g. [Error: AuthenticationFailure]
console.error(result);
/*
example of result from the vws API:
{
result_code: 'AuthenticationFailure',
transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
}
*/
} else {
console.log(result);
/*
example of result from the vws API:
{
“result_code”:”Success”,
“transaction_id”:”550e8400e29440000b41d4a716446655”,
“results”:[
”00550e84e29b41d4a71644665555678”,
”578fe7fd60055a5a84c2d215066b7a9d”
]
}
*/
}
});
retrieve a target from cloud database
client.retrieveTarget('00550e84e29b41d4a71644665555678', function (error, result) {
if (error) { // e.g. [Error: AuthenticationFailure]
console.error(result);
/*
example of result from the vws API:
{
result_code: 'AuthenticationFailure',
transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
}
*/
} else {
console.log(result);
/*
example of result from the vws API:
{
“result_code”:”Success”,
“transaction_id”:”e29b41550e8400d4a716446655440000”,
“target_record”:{
“target_id”:”550b41d4a7164466554e8400e2949364”,
“active_flag”:true,
“name”:”tarmac”,
“width”:100.0,
“tracking_rating”:4,
“reco_rating”:””
},
“status”:”Success”
}
*/
}
});
update a target
var update = {
'active_flag' : true,
'application_metadata' : util.encodeBase64('Some metadata about your image')
};
client.updateTarget('00550e84e29b41d4a71644665555678', update, function (error, result) {
if (error) { // e.g. [Error: AuthenticationFailure]
console.error(result);
/*
example of result from the vws API:
{
result_code: 'AuthenticationFailure',
transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
}
*/
} else {
console.log(result);
/*
example of result from the vws API:
{
"result_code":"Success",
"transaction_id":"550e8400e29b41d4a716446655482752"
}
*/
}
});
delete a target
client.deleteTarget('00550e84e29b41d4a71644665555678', function (error, result) {
if (error) { // e.g. [Error: AuthenticationFailure]
console.error(result);
/*
example of result from the vws API:
{
result_code: 'AuthenticationFailure',
transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
}
*/
} else {
console.log(result);
/*
example of result from the vws API:
{
“result_code”:”Success”,
“transaction_id”:”550e8400e29b41d4a716446655482752”
}
*/
}
});
search cloud database for images that can be considered duplicates
client.checkForDuplicateTargets('00550e84e29b41d4a71644665555678', function (error, result) {
// images that are the same as the reference one identified by a given target id
if (error) { // e.g. [Error: AuthenticationFailure]
console.error(result);
/*
example of result from the vws API:
{
result_code: 'AuthenticationFailure',
transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
}
*/
} else {
console.log(result);
/*
example of result from the vws API:
{
“similar_targets”:
[
”550e8400e29b41d4a716446655447300”,
”578fe7fd60055cbc84c2d215066b7a9d”
]
}
*/
}
});
Perform an Image Recognition Query
var filename = __dirname + '/test.jpg'; // image file that will be send to the Vuforia Web Query API
var max_num_results = 5; // return only 5 matches
client.cloudRecoQuery(fs.readFileSync(filename, 'binary'), max_num_results, function (error, result) {
if (error) { // e.g. [Error: AuthenticationFailure]
console.error(result);
/*
example of result from the vwq API:
{
result_code: 'AuthenticationFailure',
transaction_id: '58b51ddc7a2c4ac58d405027acf5f99a'
}
*/
} else {
console.log(result);
/*
example of result from the vwq API:
{
result_code: 'Success',
transaction_id: 'b66bef31ba394c86a7ea2ab7e35c93d1',
results:
[
'eacbb1487c584dbb8741fb5a28b4228f'
]
}
*/
}
});