gpt4 book ai didi

python - AWS : Running Rekognition on DeepLens device

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:35 24 4
gpt4 key购买 nike

我正在创建一个识别人的深层项目,当一组人被相机扫描时。

该项目使用 lambda,它处理图像并触发“rekognition”aws api。

在 AWS lambda 控制台(具有 1.8.9 boto 版本)上,当我尝试调用 AWS python API 时遇到以下问题:

注意:img_str是一个字节数组

img_str = cv2.imencode('.jpg', frame)[1].tostring()
image = { 'Bytes': img_str }
response = rekognition.search_faces_by_image(CollectionId = 'TestingCollection', Image = { "Bytes" : image } )

第一个错误:sendall() 参数 1 必须是字符串或缓冲区,而不是字典

我理解的原因:{ "Bytes": image } 是一个 Json 而不是字符串

我的解决方案:使 json 成为一个字符串(不确定我是否可以连接 img_str(一个字节数组)

image = '{ "Bytes" :' + img_str + '}'
response = rekognition.search_faces_by_image(CollectionId = 'TestingCollection', Image = { "Bytes" : image } )

现在错误:人脸检测 lambda 错误:“ascii”编解码器无法解码位置 52 中的字节 0xff:序号不在范围内 (128)

问题如何在不丢失数组的情况下将字节数组 (img_str) 与字符串连接起来?

我可以将image 变量转换为字符串而不获取无法解码字节0xff 异常吗?或

我们是否可以采取其他措施来解决这个问题?

提前谢谢大家!!

最佳答案

我做了类似的事情,这段代码对我有用:

    # img is an image object (numpy array)
success, img = cv2.imencode('.jpg', img)
image= img.tobytes()
response=client.search_faces_by_image(CollectionId='TestingCollection',
Image={'Bytes':image})

关于python - AWS : Running Rekognition on DeepLens device,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53744481/

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