tcitsdk-nodejs v1.0.5
TCIT LocalAPI NodeJS SDK
This repository provides NodeJS SDK for how to connect TCIT LocalAPI Service.
Introduction
TCIT LocalAPI is computer vision local service, most features include face detection, facial recognition, age and gender estimation...
LocalAPI Documentation
Architecture
Require Module
- bluebird
- needle
- ws
- mocha (optional for test)
- chai (optional for test)
- fluent-ffmpeg (optional for test)
Quick Start
npm install
$ npm install tcitsdk-nodejs
build from github
$ git clone https://github.com/MarcWang/tcitsdk-nodejs.git
$ npm install
Platform Support
- Window
- Linux
NodeJS SDK Documentation
[API] getVersion()
Get SDK version
var TCITLocalApi = require('tcitsdk-nodejs');
var localapiController = new TCITLocalApi();
var v = localapiController.getVersion();
[API] setServerInfo(host, port, wsPort)
Set information of TCIT LocalAPI service
var TCITLocalApi = require('tcitsdk-nodejs');
var localapiController = new TCITLocalApi();
localapiController.setServerInfo('localhost', "8800", "4662");
[API] imageBufferUpload(buffer)
Upload image to TCIT LocalAPI Service using buffer
@param {object} buffer
@object {string} img_id
- @object {string} localapi
- @object {string} nodejs
var buffer = fs.readFileSync('./image/lena.jpg');
localapiController.imageBufferUpload(buffer).then(function(res) {
console.log("Call API Success");
}).catch(function(error) {
console.log("Call API Error");
});
[API] imagePathUpload(path)
Upload image to TCIT LocalAPI Service using file path
@param {string} path
@object {string} img_id
- @object {string} localapi
- @object {string} nodejs
localapiController.imagePathUpload('./image/lena.jpg').then(function(res) {
console.log("Call API Success");
}).catch(function(error) {
console.log("Call API Error");
});
[API] faceDetect(imgId, img, trackId)
Call Face Detection API on TCIT LocalAPI Service
- @param {string} imgId
- @param {string} img (Base64 String)
@param {string} trackId
@object {object} faces
- @object {string} localapi
- @object {string} nodejs
var bufferImg = fs.readFileSync('./image/lena.jpg');
localapiController.imageBufferUpload(bufferImg).then(function(res) {
var imgId = res.img_id;
localapiController.faceDetect(imgId, null, null).then(function(res) {
console.log("Call API Success");
});
}).catch(function(error) {
console.log("Call API Error");
});
var base64Img = bufferImg.toString('base64');
localapiController.faceDetect(null, base64Img, null).then(function(res) {
console.log("Call API Success");
}).catch(function(error) {
console.log("Call API Error");
});
[API] createFaceTrack()
@object {string} track_id
- @object {string} localapi
- @object {string} nodejs
localapiController.createFaceTrack().then(function(res) {
console.log("Call API Success");
}).catch(function(error) {
console.log("Call API Error");
});
[API] deleteFaceTrack(trackId)
@param {string} trackId
@object {boolean} result
- @object {string} localapi
- @object {string} nodejs
var trackId = null;
localapiController.createFaceTrack().then(function(res) {
console.log("Call API Success");
trackId = res.track_id;
}).catch(function(error) {
console.log("Call API Error");
});
/*
Face Detection...
*/
localapiController.deleteFaceTrack(trackId).then(function(res) {
console.log("Call API Success");
}).catch(function(error) {
console.log("Call API Error");
});
[API] faceCompare(faceId1, faceId2)
- @param {string} faceId1
- @param {string} faceId2
@object {number} similarity
- @object {string} localapi
- @object {string} nodejs
var faceId1 = null;
var faceId2 = null;
/*
Upload Image and Face Detection...
*/
localapiController.faceCompare(faceId1, faceId2).then(function(res) {
console.log("Call API Success");
}).catch(function(error) {
console.log("Call API Error");
});
[API] createPerson(faceId, jsonStrFeatureList, groupId)
- @param {string} faceId
- @param {string} jsonStrFeatureList
- @param {string} groupId
- @object {string} person_id
- @object {number} added_face_count
- @object {number} added_group_count
- @object {string} localapi
- @object {string} nodejs
var faceId = null;
/*
Upload Image and Face Detection...
*/
localapiController.createPerson(faceId, null, null).then(function(res) {
console.log("Call API Success");
}).catch(function(error) {
console.log("Call API Error");
});
[API] deletePerson(personId)
- @param {string} personId
- @object {number} delete_count
- @object {string} localapi
- @object {string} nodejs
[API] addFaceToPerson(personId, faceId, jsonStrFeatureList)
- @param {string} personId
- @param {string} faceId
- @param {string} jsonStrFeatureList
- @object {number} added_face_count
- @object {string} localapi
- @object {string} nodejs
[API] removeFaceFromPerson(personId, faceId)
- @param {string} personId
- @param {string} faceId
- @object {number} removed_face_count
- @object {string} localapi
- @object {string} nodejs
[API] getPersonInfo(personId)
- @param {string} personId
- @object {string} person_id
- @object {object} faces
- @object {object} groups
- @object {string} localapi
- @object {string} nodejs
[API] queryPersonList()
- @object {object} persons
- @object {string} localapi
- @object {string} nodejs
[API] personVerify(personId, faceId, jsonStrFeature)
- @param {string} personId
- @param {string} faceId
- @param {string} jsonStrFeature
- @object {number} confidence
- @object {string} localapi
- @object {string} nodejs
[API] imagePersonVerify(imgBuffer, personId)
- @param {object} imgBuffer
- @param {string} personId
- @object {object} faces
- @object {string} localapi
- @object {string} nodejs
[API] createGroup(personId)
- @param {string} personId
- @object {string} group_id
- @object {number} added_person_count
- @object {string} localapi
- @object {string} nodejs
[API] deleteGroup(groupId)
- @param {string} groupId
- @object {number} delete_count
- @object {string} localapi
- @object {string} nodejs
[API] addPersonToGroup(groupId, personId)
- @param {string} groupId
- @param {string} personId
- @object {number} added_person_count
- @object {string} localapi
- @object {string} nodejs
[API] removePersonFromGroup(groupId, personId)
- @param {string} groupId
- @param {string} personId
- @object {number} removed_person_count
- @object {string} localapi
- @object {string} nodejs
[API] getGroupInfo(groupId)
- @param {string} groupId
- @object {string} group_id
- @object {object} persons
- @object {string} localapi
- @object {string} nodejs
[API] queryGroupList()
- @object {object} groups
- @object {string} localapi
- @object {string} nodejs
[API] groupIdentify(groupId, faceId, featureData)
- @param {string} groupId
- @param {string} faceId
- @param {string} featureData
- @object {object} persons
- @object {string} localapi
- @object {string} nodejs
[API] humanDetect(imgId, img, trackId)
- @param {string} imgId
- @param {string} img (Base64 String)
- @param {string} trackId
- @object {object} humans
- @object {string} localapi
- @object {string} nodejs
var fs = require("fs");
var TCITLocalApi = require('tcitsdk-nodejs');
var localapiController = new TCITLocalApi();
var bufferImg = fs.readFileSync('./image/people.jpg');
var base64Img = bufferImg.toString('base64');
localapiController.humanDetect(null, base64Img, null).then(function(res) {
console.log("Test API humanDetect using base64Img Success");
}).catch(function(error) {
console.log("Test API humanDetect using base64Img Error");
});
[API] createHumanTrack()
- @object {string} track_id
- @object {string} localapi
- @object {string} nodejs
[API] deleteHumanTrack(trackId)
[API] openChannel(url, channelParam)
[API] openMultiChannels(urls, channelParam)
[API] closeChannel(channelId)
[API] closeAllChannels()
[API] getChannelInfo(channelId)
[API] queryChannelList()
[API] getDeviceInfo(url)
[API] queryDeviceList()
[API] listenWebSocketMsg(callback)
[API] restartServer()
[API] importFeatureStr(importStr)
[API] importFeatureFile(importFile)
Example
Authors
Originally created by Marc Wang
LICENSE
tcitsdk-nodejs is licensed under the Apache-2.0. For more information, see the LICENSE file in this repository.