繁体   English   中英

Python simplecv toString()返回图像

[英]Python simplecv toString() back to image

当我将图像从服务器发送到套接字(使用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已终止异常方式

这可能是由于传输时数据丢失引起的吗? 还是我在接收数据时使用了太大的缓冲区数?

数据包大小可能太大。 我将创建一个非常小的图像,并验证它是否已设置为类似以下内容:

img = Image((5,5))

这将产生5 x 5的黑色图像。您还可以执行img.invert()来查看它是否变为完全白色。 我还将在.NET IDE的sock.recv()处设置一个断点,然后手动尝试查看套接字缓冲区以验证字符串是否匹配,然后再尝试将其投射到Image中,或者如果不能断点而不是cout >>到文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM