以str格式发送cv2图像 pytohn

问题描述 投票:0回答:1

我知道这是一个初学者的问题,但我找不到任何关于它的资料,我正在写一个.py程序,用于将摄像机的输入(服务器端)传输到另一台电脑(客户端),我使用opencv,我可以很容易地从摄像机中读取数据并进行操作。

我正在写一个.py程序,用于将摄像机的输入(服务器端)传输到另一台PC(客户端),我使用opencv,我可以很容易地从摄像机中读取数据并进行操作。

def test():
    img = start(0,0)#return a cv2 image elaborated and standard cv2 image color scale
    return str(img)#send to the client the img in string format

客户端接收到的数据是正确的,我保存了服务器端的str(img)和客户端接收到的str,它们是一样的。

这是客户端的代码,问题出在客户端的最后一行,并给我这个错误。

txt = resp.text#get the text who's received back
txt = np.array(txt)#convert to a numpy array
#print(txt) #debug
cv2.imshow('image',txt)#show image

问题出在客户端的最后一行,并给了我这个错误。

类型错误。预期的Ptr< cv::UMat> 参数'mat'。

但是txt字符串是一个numpy数组,里面的数据和客户端完全一样(另外如果我在服务器端显示img就可以了),有什么建议吗?

PLEASE REALLY NEED HELP(求帮助)

(完整的代码。https:/github.comThomasAndreattaopencvServertreemaster。)

python opencv flask numpy-ndarray
1个回答
0
投票

numpy数组的类型需要是 uint8. 在 cv2.imshow(...)

txt = txt.astype(np.uint8)

您可以在显示变量之前使用 whos. 此外,为了防止混淆,改变变量名称以反映类型的变化是明智的。

© www.soinside.com 2019 - 2024. All rights reserved.