我正在使用Python和Glade-3製作實時視頻GUI,但是我發現很難將我已經創建的Numpy數組轉換爲可以在Glade中顯示的東西。圖像是黑色和白色,只有一個值可以給出每個像素的亮度。我希望能夠在GUI中繪製圖像,因此我不知道是否應該使用特定的格式(位圖/像素圖等)?如何在glade-3中顯示2D numpy數組?
任何幫助將不勝感激!
我正在使用Python和Glade-3製作實時視頻GUI,但是我發現很難將我已經創建的Numpy數組轉換爲可以在Glade中顯示的東西。圖像是黑色和白色,只有一個值可以給出每個像素的亮度。我希望能夠在GUI中繪製圖像,因此我不知道是否應該使用特定的格式(位圖/像素圖等)?如何在glade-3中顯示2D numpy數組?
任何幫助將不勝感激!
在最後,我決定以產生用於像素的緩衝器使用:
self.pixbuf = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,0,8,1280,1024)
self.liveImage.set_from_pixbuf(self.pixbuf)
我覺得這些步驟需要:
scipy.misc.toimage
到您的數組轉換成PIL圖像gdk_pixbuf_get_from_surface
將其轉換爲pixbuf(我不知道它的名稱是在python api中)Gtk.Image.new_from_pixbuf
對不起,它需要很多轉換步驟。
你也許可以使一些通過寫一個函數來你的數組轉換成開羅質地更好:我再從像素緩衝器中設置的圖像。這可能會涉及更多的努力,但數百人會感謝你;-) – ptomato
是的,我讀了很多關於開羅紋理,但我從來沒有真正使用它們。 – user1696811