当我将图像转换为字符串(使用 simplecv 方法 toString())从服务器发送到套接字时出现问题,我无法将其转换回图像。
[编辑] 添加了评论建议的代码
但是,我需要尽快将我的屏幕“流式传输”给客户。如果我走错方向,请纠正我。
我试过以下(客户):
while 1:
x = sock.recv(4096)
y = sock.recv(4096)
imgSize = (int(x),int(y))
img = sock.recv(429467296)
try:
if img != None:
bmp = cv.CreateImageHeader(imgSize, cv.IPL_DEPTH_8U, 3)
cv.SetData(bmp,img)
cv.CvtColor(bmp,bmp, cv.CV_RGB2BGR)
screenImg = Image(bmp)
img = None
screenImg.show()
except:
print 'Error with image'
主持人:
while 1:
screenImg = sc.getImage()
screenImg = screenImg.scale(0.5)
string = screenImg.toString()
client.sendall(str(screenImg.size()[0]))
client.sendall(str(screenImg.size()[1]))
client.sendall(string)
但我收到 Microsoft Visual C++ 运行时库错误,告诉我 pythonw.exe 以不寻常的方式终止
这可能是由于传输时数据丢失造成的吗?还是我在接收数据时使用了太大的缓冲区数?