I verwendet opencv ein Bild zu lesen und speichern, wie dies Redis:Wie analysiert man String-Repräsentation wieder in ein numpy Array?
frame=cv2.imread('/path/to/image.png')
rd.set('frame', frame)
dann lesen es eine String-Darstellung wie folgt zurück:
[[[ 38 45 51]
[ 38 45 51]
[ 38 45 51]
...,
[235 217 222]]]
dann, wie ich versuchte, ihn zurückzubekommen dies:
frameString=rd.get('frame')
mat=np.array(frameString)
aber
print mat.shape
Ausgang
()
dann habe ich versucht
mat=eval(frameString)
das gibt mir eine Fehlermeldung:
exec exp in global_vars, local_vars
File "<console>", line 1, in <module>
File "<string>", line 1
[[[ 38 45 51]
^
SyntaxError: invalid syntax
Frage ist
how to convert this string representation back to numpy array correctly?
'pickle.dumps' ist eine bessere Möglichkeit, eine Zeichenfolgendarstellung eines numpy Arrays zu erzeugen. Es verwendet in der Tat "np.save", um das Array zu serialisieren. – hpaulj