Как использовать сервис AWS Rekognition для обнаружения лиц с помощью Node.js

Я пытаюсь использовать Amazon Rekognition Service с Node.js,
Я загрузил изображение лица в сервис S3 в корзине с образцом программы, и теперь я хочу обнаружить лицо с помощью 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

});

Я не могу получить правдивые данные, вот что я получаю:

введите здесь описание изображения

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

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"
   }
   */
 });

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


person ays    schedule 24.01.2017    source источник
comment
На самом деле это не вопрос, относящийся к AWS, а скорее общий вопрос JS.   -  person Illia Ratkevych    schedule 13.02.2017
comment
не могли бы вы поделиться образцом кода через git   -  person DhanaLaxshmi    schedule 01.12.2017


Ответы (3)


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

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

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

person bert    schedule 18.04.2017

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

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

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

person Guillaume    schedule 24.01.2017
comment
Большое тебе спасибо. Теперь все в порядке. - person ays; 24.01.2017

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Rekognition.html#compareFaces-property

Здесь это объяснено правильно, это от Amazon.

person Mohammed mansoor    schedule 07.11.2017