如何在Python中使用Gtk在OpenCV中绘制图片

时间:2019-02-22 09:28:34

标签: python-3.x opencv image-processing gtk3

我正在努力将OpenCV与Python Gtk应用程序集成。我正在尝试做的是像这样加载图片:

pic = cv2.imread("image.jpg") #pic is a numpy.ndarray

然后,我想使用GtkWidget显示此图像。但实际上我不知道如何。我的第一个想法是使用类似GtkImage的东西,但是GtkImage只能直接使用图像文件。由于我的计划是操纵视频流,因此这不可行。

也许你们当中的一个人知道如何进行。非常感谢。

1 个答案:

答案 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)