我有来自亚马逊的服务,从照片中返回脸部的坐标!!
{ "Top" : 0.16105769574642181, "Left" : 0.32451921701431274, "Height" : 0.2788461446762085, "Width" : 0.27764421701431274 }
我想只模糊图像中的脸(或正方形)。我正在尝试使用ImageMagick,但我无法使其正常工作!所以,我发现了一种不同的方法,但我无法将其放入代码中
http://www.imagemagick.org/Usage/masking/#read_mask
如果你知道任何NPM可以帮助或如何使用ImageMagick这将是非常有帮助的
答案 0 :(得分:2)
所以我找到了一个非常简单的解决方案:
image =>网址或路径; faceDetails =>是面部数组aws rekognition返回facesDetails.boundinBox是你在问题中看到的对象
let blur = function(image, faceDetails) {
let img = gm(image);
img.size(function(err, value){
if (err) {
console.log(err);
} else {
faceDetails.forEach((faceDetail) => {
const box = faceDetail.BoundingBox,
width = box.Width * value.width,
height = box.Height * value.height,
left = box.Left * value.width,
top = box.Top * value.height;
img.region(width, height, left, top).blur(0, 50);
});
img.write(__dirname + '/archive/resize.jpg', function (err) {
if (!err) {
console.log('done Wrting .....');
}else{
console.error(err);
}
});
}
});
};