rekognition-node
v0.1.0
Published
AWS Rekognition library
Downloads
1
Readme
rekognition-node
This is a fork of node-rekognition by oleurud
Use this if you need to ability to send AWS image bytes
Installation
npm install rekognition-node
Use
Instantiation
const Rekognition = require('rekognition-node');
// Set your AWS credentials
const AWSParameters = {
accessKeyId: 'XXX',
secretAccessKey: 'XXX',
region: 'XXX',
bucket: 'XXX',
ACL: 'XXX' // optional
};
const rekognition = new Rekognition(AWSParameters);
The ACL is optional and its possible values are: "private", "public-read", "public-read-write", "authenticated-read", "aws-exec-read", "bucket-owner-read", "bucket-owner-full-control" More info
Upload images to S3
Some methods from AWS Rekognition need one or more images uploaded to AWS S3 bucket
/**
* Upload image or images array to S3 bucket into specified folder
*
* @param {Array.<string>|string} imagePaths
* @param {string} folder a folder name inside your AWS S3 bucket (it will be created if not exists)
*/
const s3Images = await rekognition.uploadToS3(imagePaths, folder)
detectLabels
/**
* Detects instances of real-world labels within an image
*
* @param {Object|Buffer} image
* @param {string} threshold (optional. Defaults 50)
*/
const imageLabels = await rekognition.detectLabels(image)
detectFaces
/**
* Detects faces within an image
*
* @param {Object|Buffer} image
*/
const imageFaces = await rekognition.detectFaces(image)
compareFaces
/**
* Compares a face in the source input image with each face detected in the target input image
*
* @param {Object|Buffer} sourceImage
* @param {Object|Buffer} targetImage
* @param {string} threshold (optional. Defaults 90)
*/
const faceMatches = await rekognition.compareFaces(sourceImage, targetImage, threshold)
detectModerationLabels
/**
* Detects explicit or suggestive adult content in image
*
* @param {Object|Buffer} image
* @param {number} threshold (optional. Defaults 50)
*/
const moderationLabels = await rekognition.detectModerationLabels(image, threshold)
createCollection
/**
* Creates a collection
*
* @param {string} collectionId
*/
const collection = await rekognition.createCollection(collectionId)
deleteCollection
/**
* Deletes a collection
*
* @param {string} collectionId
*/
const collection = await rekognition.deleteCollection(collectionId)
indexFaces
/**
* Detects faces in the input image and adds them to the specified collection
*
* @param {string} collectionId
* @param {Object} s3Image
*/
const facesIndexed = await rekognition.indexFaces(collectionId, s3Image)
listFaces
/**
* List the metadata for faces indexed in the specified collection
*
* @param {string} collectionId
*/
const faces = await rekognition.listFaces(collectionId)
searchFaces
/**
* Searches in the collection for matching faces of faceId
*
* @param {string} collectionId
* @param {string} faceId
* @param {number} threshold (optional. Defaults 90)
*/
const faceMatches = await rekognition.searchFacesByFaceId(collectionId, faceId, threshold)
searchFacesByImage
/**
* First detects the largest face in the image (indexes it), and then searches the specified collection for matching faces.
*
* @param {string} collectionId
* @param {Object} s3Image
* @param {number} threshold (optional. Defaults 90)
*/
const faceMatches = await rekognition.searchFacesByImage(collectionId, s3Image, threshold)
Test
First of all, you must create a parameters.json file and set your AWS parameters. You have an example file parametrs.json.example
- cp parameters.json.example parameters.json
- vim parameters.json
Then:
- npm install
- npm test
Changelog
Releases are documented in the NEWS file
Requirements
node >= 7.10.0
Contributing
You are welcome contribute via pull requests.
More info about AWS Rekognition
http://docs.aws.amazon.com/rekognition/latest/dg/API_Operations.html http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Rekognition.html