我正在努力将OpenCV与Python Gtk应用程序集成。我正在尝试做的是像这样加载图片:
pic = cv2.imread("image.jpg") #pic is a numpy.ndarray
然后,我想使用GtkWidget显示此图像。但实际上我不知道如何。我的第一个想法是使用类似GtkImage的东西,但是GtkImage只能直接使用图像文件。由于我的计划是操纵视频流,因此这不可行。
也许你们当中的一个人知道如何进行。非常感谢。
答案 0 :(得分:2)
我找到了解决方案。因此,对于任何有兴趣的人,我都是这样的:
self.frame = Gtk.Frame()
pic = cv2.imread("image.jpg")
pic = cv2.resize(pic, (400,600))
pic = np.array(pic).ravel()
print(pic.size)
pixbuf = GdkPixbuf.Pixbuf.new_from_data(pic,GdkPixbuf.Colorspace.RGB, False, 8, 600, 400, 3*600)
Image = Gtk.Image.new_from_pixbuf(pixbuf)
self.frame.add(Image)