从套接字数据转换为numpy数组

时间:2019-01-18 20:48:38

标签: python numpy sockets opencv tcp

所有。

我正在尝试显示套接字发送的图片。

有这样的代码:P.S是的,是的,我知道这是您所见过的最糟糕的事情,但这是:

while True:
    data = s.recv(BUFFER_SIZE)
    if data:
        print ("received data:", len(data))
        try:
            myfile = open("t.png", 'wb')
            myfile.write(data)
            img = cv2.imread('t.png')
            if img is not None:
                img = cv2.resize(img, (1280, 720))
                cv2.imshow("1", img)
                cv2.waitKey(1)
        except IOError as e:
            print(e)

他打开文件,在其中写入图像,然后opencv读取并显示该图像。

opencv如何立即显示图像?

为了不将图片刻录到磁盘上并阅读,并立即显示。

1 个答案:

答案 0 :(得分:1)

这将从套接字接收的data(字符串)转换为OpenCV映像:

img = cv2.imdecode(np.fromstring(data, np.uint8), 1)

第二次世界大战评论中的答案具有相似的代码,但更加混乱。