如何使用AWS Rekognition服务通过Node.js检测人脸

我正在尝试使用Amazon Rekognition服务与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" } */ }); 

我怎样才能得到脸部数据?

您的console.log("data")正在打印对象信息。 你需要做的是以这种方式将你的对象模型串联起来:

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

希望这可以帮助。

原因是console.log以有限的深度输出variables。 所以它不会显示成员,而只显示他们的types。 您仍然可以通过执行以下操作访问代码中的结果对象:

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

你可以在这里find更多关于如何增加console.log深度的信息 。

Interesting Posts