2017-01-24 23 views
2

Я пытаюсь использовать службу повторной регистрации Amazon с Node.js,
Я загрузил изображение лица в службу S3 в ведро с образцом программы, и теперь я хочу для обнаружения лица с Node.jsКак воспользоваться службой Rekognition AWS для обнаружения лиц с помощью Node.js

кода, как показано ниже

// Load the AWS SDK for Node.js 
var AWS = require('aws-sdk'); 
// Load credentials and set region from JSON file 
AWS.config.loadFromPath('./config.json'); 

var rekognition = new AWS.Rekognition({apiVersion: '2016-06-27'}); 
var s3 = new AWS.S3({apiVersion: '2006-03-01'}); 

/* Эта операция обнаруживает лицо в изображении, сохраненном в ведре AWS S3. */

var params = { 
Image: { 
    S3Object: { 
    Bucket: "rekognitionfortesting", 
    Name: "face1.jpeg" 
    } 
}, 

}; 
rekognition.detectFaces(params, function(err, data) { 
if (err) console.log(err, err.stack); // an error occurred 
else  console.log(data);   // successful response 

}); 

Я coudn't получить достоверные данные, это ответ я получаю:

enter image description here

[Object] написано. Обычно он должен давать ответ, как показано ниже.

data = { 
    FaceDetails: [ 
     { 
     BoundingBox: { 
     Height: 0.18000000715255737, 
     Left: 0.5555555820465088, 
     Top: 0.33666667342185974, 
     Width: 0.23999999463558197 
     }, 
     Confidence: 100, 
     Landmarks: [ 
     { 
     Type: "EYE_LEFT", 
     X: 0.6394737362861633, 
     Y: 0.40819624066352844 
     }, 
     { 
     Type: "EYE_RIGHT", 
     X: 0.7266660928726196, 
     Y: 0.41039225459098816 
     }, 
     { 
     Type: "NOSE_LEFT", 
     X: 0.6912462115287781, 
     Y: 0.44240960478782654 
     }, 
     { 
     Type: "MOUTH_DOWN", 
     X: 0.6306198239326477, 
     Y: 0.46700039505958557 
     }, 
     { 
     Type: "MOUTH_UP", 
     X: 0.7215608954429626, 
     Y: 0.47114261984825134 
     } 
     ], 
     Pose: { 
     Pitch: 4.050806522369385, 
     Roll: 0.9950747489929199, 
     Yaw: 13.693790435791016 
     }, 
     Quality: { 
     Brightness: 37.60169982910156, 
     Sharpness: 80 
     } 
    } 
    ], 
    OrientationCorrection: "ROTATE_0" 
    } 
    */ 
}); 

Как я могу получить данные о лицах?

+1

Это не вопрос, специфичный для AWS, а скорее общий вопрос JS. –

+0

можете уделить вам образец кода через git – DhanaLaxshmi

ответ

0

Причина в том, что console.log выводит переменную с ограниченной глубиной. Поэтому он не будет отображать членов, а скорее только их тип. Вы все еще можете получить доступ к объекту результата в вашем коде, делая что-то вроде:

data.FaceDetails[0].BoundingBox.height 
... 

Вы можете найти более подробную информацию о том, как увеличить глубину console.loghere.

+0

Большое спасибо. Сейчас все в порядке. – ays

2

Ваш console.log("data") правильно печатает информацию об объекте. То, что вам нужно сделать, это подстроить вашу объектную модель следующим образом:

console.log(JSON.stringify(data, null, '\t')); 

Надеюсь, это поможет.