我目前正在研究望远镜的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)