【问题标题】:Python: Alternate way to covert from base64 string to opencvPython:从base64字符串转换为opencv的替代方法
【发布时间】:2015-11-30 22:53:53
【问题描述】:

我正在尝试将 base64 (http://pastebin.com/uz4ta0RL) 中的字符串转换为 OpenCV 可用的字符串。 目前我正在使用此代码(img_temp 是字符串)通过将其转换为临时图像(imagetosave.jpg)然后使用 cv2.imread 加载临时图像来使用 OpenCV 函数。

    fh = open('imagetosave.jpg','wb')
    fh.write(img_temp.decode('base64'))
    fh.close()

    img = cv2.imread('imagetosave.jpg',-1)

虽然这种方法有效,但我希望能够在不使用临时图像的情况下使用 OpenCV 功能。 非常感谢您的帮助,谢谢!

【问题讨论】:

标签: python image opencv


【解决方案1】:

要将字符串从 base64 转换为普通字符串,您可以使用

import base64
base64.b64decode("TGlrZSB0aGF0Cg==")

但不清楚是否是您需要的。

【讨论】:

  • 所以我希望能够将 base64 中的字符串转换为 OpenCV 可用的格式,而无需重写 imagetosave.jpg,因为它充当临时图像。
【解决方案2】:

您可以将解码后的字符串转换为整数列表,然后将其传递给imdecode 函数:

img_array = map(int, img_temp.decode('base64'))
img = cv2.imdecode(img_array, -1)

【讨论】:

  • 我得到:int() 的无效文字,基数为 10
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 2017-08-31
  • 1970-01-01
相关资源
最近更新 更多