2

J'essaie d'utiliser Amazon Rekognition Service avec Node.js,
J'ai téléchargé une image de visage au service S3 dans un seau avec un exemple de programme et maintenant je veux pour détecter le visage avec Node.jsComment utiliser le service AWS Rekognition pour détecter les visages avec Node.js

Le code est comme ci-dessous

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

/* Cette opération détecte les visages dans une image stockée dans un seau 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 

}); 

Je coudn't obtenir des données réelles, c'est la réponse je reçois:

enter image description here

[Objet] est écrit. Normalement, il devrait donner une réponse comme ci-dessous.

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

Comment puis-je obtenir les données de visage?

+1

Ce n'est pas une question spécifique à AWS, mais plutôt une question JS générale. –

+0

pouvez-vous s'il vous plaît partager l'exemple de code via git – DhanaLaxshmi

Répondre

0

La raison est que console.log génère la variable avec une profondeur limitée. Donc, il ne sera pas afficher les membres, mais plutôt leur type. Vous pouvez encore accéder à l'objet de résultat dans votre code en faisant quelque chose comme:

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

Vous pouvez trouver plus d'informations sur la façon d'augmenter la profondeur de la console.loghere.

+0

Merci beaucoup. C'est d'accord maintenant. – ays

2

Votre console.log("data") imprime correctement les informations sur l'objet. Ce que vous devez faire est de stringifier votre modèle d'objet de cette façon:

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

Espérons que cela aide.