参考人脸识别接入常见问题汇总 - 腾讯云开发者社区-腾讯云的第六条
前情提要,接口需要image 的base64编码str,于是我的基本处理办法是
# 初始化用于对比的图片filename1 = 'image4.jpg'filename2 = 'image3.jpg'f = open(filename1, 'rb')f2 = open(filename2, 'rb')img_test1 = str(base64.b64encode(f.read()))img_test2 = str(base64.b64encode(f2.read()))f.close()f2.close()
但在调用时返回显示[TencentCloudSDKException] code:FailedOperation.ImageDecodeFailed message:图片解码失败。
经过检查原因是 实际上字符串为
b'/9j/4AAQSkZJRgABAQEAAAAAAAD/4QAuRXhpZgAATU0AK...aTZ79sdKkooAiEfQ55pQp45HXPSpKKAGbOnsadS02gD/2Q=='
我们只需要第一个/和最后一个/中间的部分,包括前面的/,不包括后面的/
只要把前缀和尾缀去掉即可正常解码
如下截取了字符串[2:-5]的部分即可正常运行
filename1 = 'image3.jpg'filename2 = 'image4.jpg'f = open(filename1, 'rb')f2 = open(filename2, 'rb')img_test1 = str(base64.b64encode(f.read()))[2:-5]img_test2 = str(base64.b64encode(f2.read()))[2:-5]f.close()f2.close()