Как нарисовать картинку с помощью OpenCV в Gtk в Python - PullRequest
0 голосов
/ 22 февраля 2019

Я борюсь с интеграцией OpenCV с моим приложением Python Gtk.То, что я пытаюсь сделать, это загрузить картинку, подобную этой:

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

После этого я бы хотел отобразить это изображение с помощью GtkWidget.Но на самом деле я понятия не имею, как.Моей первой идеей было использовать что-то вроде GtkImage, но GtkImage может работать только напрямую с файлом изображения.Поскольку мой план состоит в том, чтобы манипулировать видеопотоком, это неосуществимо.

Возможно, у одного из вас есть идея, как действовать.Большое спасибо.

1 Ответ

0 голосов
/ 22 февраля 2019

Я нашел решение.Так что для всех, как интересно, я сделал это так:

        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)
...