【发布时间】:2019-01-02 09:32:42
【问题描述】:
我正在使用 python 进行视频聊天。我正在使用 CV2 捕获当前图像(这给了我一个 numpy 数组),然后我将 numpy 发送到我的服务器。现在我在服务器上有一个字符串,我需要将它解码回一个 numpy 数组。
我正在使用 Python 3.7,但我还没有想出一些想法。
#client
#capture 500 frames
while i < 500:
i = i + 1
# Capture frame-by-frame
ret, frame = cap.read()
#send data
client_socket.send(bytes(str(ret) + "###" + str(frame), "utf-8"))
#server
#split ret and frame
ret, frame = str(conn.recv(16000)).split("###")
gray = cv2.cvtColor(frame.toNumpyArray #PseudoMethod <-- Here
,cv2.COLOR_BGR2GRAY)
我只需要一种将字符串转换回 numpy 数组的方法。 如果我打印出来,字符串看起来像这样:
b'[[[128 255 255]\n [125 255 255]\n [107 255 255]\n ...\n [102 130 167]\n [102 128 172]\n [102 128 172]]\n\n [[128 255 255]\n [127 255 255]\n [108 255 255]\n ...\n [102 130 167]\n [102 128 172]\n [102 128 172]]\n\n [[111 255 255]\n [111 255 255]\n [109 255 255]\n ...\n [ 99 131 169]\n [ 99 131 169]\n [ 99 131 169]]\n\n ...\n\n [[ 27 64 95]\n [ 29 67 97]\n [ 24 66 98]\n ...\n [ 73 117 160]\n [ 70 119 161]\n [ 70 119 161]]\n\n [[ 18 71 81]\n [ 20 74 83]\n [ 30 67 93]\n ...\n [ 77 117 159]\ n [ 74 118 163]\n [ 74 118 163]]\n\n [[ 14 68 77]\n [ 19 73 82]\n [ 30 67 93]\n ...\n [ 77 117 159] \n [ 74 118 163]\n [ 74 118 163]]]'
对不起,我的英语不好,我是德国学生。
【问题讨论】:
-
你能提供一个你得到的字符串的例子吗?
-
我已经发布了一个例子
-
您似乎正在寻找serialize的方法
-
看到“...”了吗?那是缺少数据。您无法从中恢复原件。
str是序列化数组的错误方法。
标签: python python-3.x numpy