gpt4 book ai didi

opencv - 如何将字符串表示解析回 numpy 数组?

转载 作者:可可西里 更新时间:2023-11-01 11:25:11 24 4
gpt4 key购买 nike

我用opencv读取了一张图片,然后像这样保存到redis:

frame=cv2.imread('/path/to/image.png')
rd.set('frame', frame)

然后,读回这样的字符串表示形式:

[[[ 38  45  51]
[ 38 45 51]
[ 38 45 51]
...,

[235 217 222]]]

然后我试着像这样把它找回来:

frameString=rd.get('frame')
mat=np.array(frameString)

但是

 print mat.shape

输出

 ()

然后我试了一下

 mat=eval(frameString)

这给了我错误:

    exec exp in global_vars, local_vars
File "<console>", line 1, in <module>
File "<string>", line 1
[[[ 38 45 51]
^
SyntaxError: invalid syntax

问题是

how to convert this string representation back to numpy array correctly?

最佳答案

最简单的做法是将其编码为 JSON 并将其保存到 Redis。

frame=cv2.imread('/path/to/image.png')
rd.set('frame', json.dumps(frame. tolist()))


frameString=json.loads(rd.get('frame'))
mat=np.array(frameString)

不过,您可以找到更快、更紧凑的序列化格式。

关于opencv - 如何将字符串表示解析回 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46316854/

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