Как добавить окно opencv в pygtk? - PullRequest
1 голос
/ 21 марта 2012

Я хочу создать программу на python с использованием pygtk, которая будет выполнять мои коды opencv и выводить данные, чтобы я мог показать ее в графическом интерфейсе.Коды opencv написаны на C. Я хочу окно / виджет в моем GUI, который будет принадлежать opencv, так что всякий раз, когда в этом виджете происходит какое-либо событие, например, перемещение указателя мыши в виджете, он должен выполнить мой код opencv и показатьвыходное изображение.Я думаю об использовании потоков.Но я не знаю, как запускать C-коды, особенно opencv-коды из python.Не могли бы вы рассказать мне, как поступить?

1 Ответ

2 голосов
/ 03 мая 2012

Хорошо, так что я понял это. Я использовал привязки swig из OpenCV 2.1. И я загружаю изображение, используя

image = gtk.Image()
img_pixbuf = gtk.gdk.pixbuf_new_from_data(img.tostring(),
                                          gtk.gdk.COLORSPACE_RGB,
                                          False,
                                          img.depth,
                                          img.width,
                                          img.height,
                                          img.width*img.nChannels)  

image = gtk.gdk.set_image_from_pixbuf(img_pixbbuf)

Где изображение - это объект IplImage.

...