gpt4 book ai didi

javascript - 使用字节的 AWS Rekognition JavaScript SDK

转载 作者:数据小太阳 更新时间:2023-10-29 06:09:58 26 4
gpt4 key购买 nike

AWS Rekognition Javascript API声明对于 rekognition.compareFaces(params,...)方法中,SourceImageTargetImage 可以采用 BytesS3Object。我想使用 Bytes 可以是

"Bytes — (Buffer, Typed Array, Blob, String)"

Blob of image bytes up to 5 MBs.

当我传递图像的 Base64 编码字符串时,JS SDK 再次重新编码(即双重编码)。因此服务器响应错误说

{"__type":"InvalidImageFormatException","Message":"Invalid image encoding"}

有没有人设法使用 compareFaces JS SDK API使用 base64 编码图像(不是 S3Object)?或任何使用 Bytes 参数的 JavaScript 示例都会有所帮助。

最佳答案

来自这个的技术AWS Rekognition JS SDK Invalid image encoding error线程工作。

将 base64 图像编码转换为 ArrayBuffer :

function getBinary(base64Image) {
var binaryImg = atob(base64Image);
var length = binaryImg.length;
var ab = new ArrayBuffer(length);
var ua = new Uint8Array(ab);
for (var i = 0; i < length; i++) {
ua[i] = binaryImg.charCodeAt(i);
}

return ab;
}

传入rekognition作为 Bytes 参数:

var data = canvas.toDataURL('image/jpeg');
var base64Image = data.replace(/^data:image\/(png|jpeg|jpg);base64,/, '');
var imageBytes = getBinary(base64Image);

var rekognitionRequest = {
CollectionId: collectionId,
Image: {
Bytes: imageBytes
}
};

关于javascript - 使用字节的 AWS Rekognition JavaScript SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43494736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com