Python 如何在 Gtk 中用 OpenCV 画图

How to draw a picture by OpenCV within Gtk in Python

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

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

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

也许你们中有人知道如何进行。非常感谢。

我找到了解决办法。所以对于任何有兴趣的人,我都是这样做的:

        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)