Я хочу отобразить изображение в PyGi, изображение сначала прочитано opencv. Но это терпит неудачу.Opencv & PyGi: как отобразить изображение, прочитанное opencv
from gi.repository import Gtk, GdkPixbuf
import cv2
import numpy as np
window = Gtk.Window()
image = Gtk.Image()
image.show()
window.add(image)
window.show_all()
im = cv2.imread("file.bmp")
a = np.ndarray.tostring(img)
h, w, d = img.shape
p = GdkPixbuf.Pixbuf.new_from_data(a,GdkPixbuf.Colorspace.RGB, False, 8, w, h, w*3, None, None)
image.set_from_pixbuf(p)
Gtk.main()
Но в результате получается черное изображение. Кроме того, если я петля вокруг набора файлов (несколько .bmp файлов из каталога), я получил CoreDump (подозревающих GdkPixbuf.Pixbuf.new_from_data)
Является ли это правильный способ иметь OpenCV & PyGi взаимодействия? Мне удалось использовать opencv с Tkinter, но я не могу использовать его с PyGi.
вам нужно CV2 что-нибудь еще делать? В противном случае было бы намного проще использовать 'GdkPixbuf.Pixbuf.new_from_file (filename)'. – elya5
Да, мне нужен cv2 - приведенный выше код является лишь уменьшением проблемы. Целевое приложение получит изображения с камеры, а не из файла. –