将PyGame Webcam流式传输到Glade界面

时间:2016-01-09 10:17:29

标签: python gtk pygame pygtk glade

我目前正在研究望远镜的GUI 我有一个通过USB连接到覆盆子pi的webCam。 一个小的python脚本正在读取imageData到String,并通过socket将它发送到我的电脑。现在我想在GTK图像中显示这个imageString。

def updateWebCamPic(self, imageString):
    print "update"
    img = Image.open(StringIO(imageString))
    self.image.set_from_pixbuf(self.image2pixbuf(img))
    print "updatet"

def getPixBufRGB8Bit(self, im):
    arr = numpy.array(im)
    return GdkPixbuf.Pixbuf.new_from_data((arr, Gdk.COLORSPACE_RGB, 8))

def image2pixbuf(im):
    """Convert Pillow image to GdkPixbuf"""
    data = im.tobytes()
    w, h = im.size
    data = GLib.Bytes.new(data)
    pix = GdkPixbuf.Pixbuf.new_from_bytes(data, GdkPixbuf.Colorspace.RGB,
            False, 8, w, h, w * 3)
    return pix

但是我收到以下错误:

raise IOError("cannot identify image file")
IOError: cannot identify image file

[编辑]:

if str(received[0]).startswith("<|Image|>"):
    image=received[0][9:]
    self.parrent.updateWebCamPic(image)

0 个答案:

没有答案