将json字符串图像转换为numpy二维数组

时间:2019-05-17 14:45:57

标签: python json numpy

我在使用json时遇到麻烦。 我正在尝试将通过json接收的图像转换为2D numpy数组。 我已经尝试了一些方法,但是没有任何效果。

这是我获取图像的方式:

@app.route("/<path:fullurl>", methods=['GET', 'POST'])
def main(fullurl):
    height, width = [int(e) for e in fullurl.split('/')]
    jsonResponse = json.loads(request.data.decode('utf-8'))

我还尝试打印jsonResponse ['image'],这是我得到的:

"data:image/octet-stream;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAYAAAB91L6VAAAF9klEQVR4nO3dv4qU
VxjH8d8l5Ea8jb2CdBbZxlbsvITUAdPkKmxjIQGrpLAIhA1EJaCQTSIiS1jXP7tJMUrmPe5ugjrPM5
z5fOB0y/K81Zdz3jMzCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ7zTJ2YbXaZI3SQ6LngkAttpZ
kr+b17tIn2z4WQFga2xDgC+KMgBM69usjoe7gyvEAFDgMKvw/9
/4CzEAbNBJLj8WF2IA2LCLQizCAFDgvBADAEXsggGgwbgTBgAK/JRlgL
/uHQcAdodjaABo4DIWADQQYABoIMAA0ECAAaCBAANAAwEGgAY+hgQADdYD/KJ5FgDYGesB
/rJ5FgDYCd/H+18AKPciAgwA5dyABoBiT+IGNACUs/sFgGJjfJ
/0jgMA8xuPnu1+AaCA+AJAMUfPAFDM0TMANBBfACjm6BkAij2K3S8AlLoZ8QWAcmN87
/SOAwDze5llfF/2jgMA87sTR88AUG6M783ecQBgfmN8H
/WOAwDzO4ijZwAodT3iCwDlxvje7h0HAOZ3nGV8j3vHAYD53Y6jZwAoN8b3eu84ADC
/Mb4HveMAwHY6yOr97Lv1V5LnSZ5dsv7I6pj5qySfr/2vozh6BoD
/9FveD+anXHfPWd8k+azi4QBgW206wBet35N8UfB8ALCV9pL8nORkbR1ndQR92Xqa5M3b9TEhvrH5R
wSAOY1RfZ3k16zC/t056+na3+5XDgoAs/jQS1f7sfsFgA9yP248A0Cpa3k
/vtdaJwKAHTDG937vOAAwv/Hm81HvOAAwv6vx3hcAyokvABR7mGV8H
/aOAwC7we4XAIqN8b3aOw4AzO8sy
/i+6h0HAOY3xtfRMwBs2Bjfs95xAGB+ryO+AFDqXsQXAErtxTtfACg3xnevdxwAmN
/4Iwv3escBgPm9yjK+J73jAMD8xvie9o4DAPN7HN9yBQClrkR8AaDcUXzWFwBK3cpy93urdxwA2A3r3/N81DwLAOyEwyx3v1d6xwGA+f2SZXx/7B0HAOY3xvfP3nEAYH5jfB/0jgMA8xt/XlB8AWDD9iO+AFBuP//G94feUQBgt9x4uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAPgHU+BofAK5zHIAAAAASUVORK5CYII="

非常感谢您的帮助= D

1 个答案:

答案 0 :(得分:0)

好吧,我想出了解决我问题的方法。很简单,我从json对象收到的代表我的图像的字符串是用base64编码的,这是事实。由于当时我对json对象或base64一无所知,所以我没有意识到在字符串的开头有一个标头。因此,我的解决方案如下:

DossierModule

我只是用逗号分割字符串:在它之前是标题,在它之后是图像。然后我将其写入png文件中,并使用cv2将其打开以具有正确的numpy数组。

bitewise_not 功能仅适用于我的特定应用程序,不是必需的。

我希望这对以后的某个人会有所帮助! = D