【问题标题】:Decode base64 image in JSON with Python使用 Python 解码 JSON 格式的 base64 图像
【发布时间】:2021-03-22 00:53:39
【问题描述】:

我从前端接收到一个base64格式的图像到JSON文件中,需要用OpenCV拍摄图像和解码,JSON有:

{
     'photo': "b'/9j/4AAQSkZJR...(continue)"
}

代码是

obj = json.loads(json.dumps(event))
obj = obj['foto']
obj = bytes(obj,'utf-8')

obj_d = base64.decodebytes(obj)
print(type(obj_d))

img_buffer = np.frombuffer(obj_d, dtype=np.uint8)
print(img_buffer)
img = cv2.imdecode(img_buffer, flags=cv2.IMREAD_COLOR)
print(img.shape)

收到的错误是,AttributeError: 'NoneType' object has no attribute 'shape'。

当我在 Python 中使用 base64 编码和解码图像时,我没有问题。

【问题讨论】:

  • 人们需要使用调试器,它有很大帮助。 Pycharm / Vscode 是免费的,并且有很棒的调试器。
  • 你可能需要eval()这个字符串,因为它以b'...'开头但你知道安全性
  • 在 JSON 中您有“照片”,但在您的代码中您尝试阅读 obj['foto']。这可能是问题所在。
  • JSON 有 obj['foto'],我写了一个以前的版本,错误是 b'...',删除这个并且工作,谢谢你帮助

标签: python json base64


【解决方案1】:

在我写的以前版本的JSON中(这里没有错误),错误在b'...',我在前端或用其他方法删除了这个并且有效 p>

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 1970-01-01
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多