OpenCV-Image zu gtkimage konvertieren
Verfasst: Sonntag 6. November 2011, 00:24
Hallo!
Wie der Betreff schon sagt, möchte ich ein OpenCV-Image zu einem GTKImage konvertieren. Ich hole mir zunächst ein Bild von der Webcam und will es dann konvertieren. Ich habe versucht, den Weg über die PIL-Library [1,2] zu gehen, als auch den Weg über Numpy (finde den Link gerade nicht wieder). Beide Wege funktionieren nicht.
Auch folgende Funktion nicht:Das Problem ist immer, dass bei allen Bildern der Rot- und Blau-Kanal vertauscht ist.
Ich habe mir den Code von opencvplayground [3] angesehen, wo erfolgreich ein Bild von opencv zu einem pixbuf für gtk konvertiert wird. Allerdings wird dort highgui direkt angesprochen:stattEs scheint so, als ob img_a ungleich img_b ist, da img_a ein Attribut img_a.imageData hat, welches man dann in der Funktion gtk.gdk.pixbuf_new_from_data() als erstes Argument einsetzen kann.
Was mache ich falsch?
Gruß,
duese
[1] http://faq.pygtk.org/index.py?req=show& ... 08.005.htp
[2] http://opencv.willowgarage.com/document ... -pil-image
[3] http://opencvplayground.googlecode.com/svn
Wie der Betreff schon sagt, möchte ich ein OpenCV-Image zu einem GTKImage konvertieren. Ich hole mir zunächst ein Bild von der Webcam und will es dann konvertieren. Ich habe versucht, den Weg über die PIL-Library [1,2] zu gehen, als auch den Weg über Numpy (finde den Link gerade nicht wieder). Beide Wege funktionieren nicht.
Auch folgende Funktion nicht:
Code: Alles auswählen
def image2pixbuf(im):
file1 = StringIO.StringIO()
im.save(file1, "ppm")
contents = file1.getvalue()
file1.close()
loader = gtk.gdk.PixbufLoader("pnm")
loader.write(contents, len(contents))
pixbuf = loader.get_pixbuf()
loader.close()
return pixbuf
Ich habe mir den Code von opencvplayground [3] angesehen, wo erfolgreich ein Bild von opencv zu einem pixbuf für gtk konvertiert wird. Allerdings wird dort highgui direkt angesprochen:
Code: Alles auswählen
img_a = highgui.cvQueryFrame( self.capture )
Code: Alles auswählen
img_b = cv.QueryFrame(self.capture)
Was mache ich falsch?
Gruß,
duese
[1] http://faq.pygtk.org/index.py?req=show& ... 08.005.htp
[2] http://opencv.willowgarage.com/document ... -pil-image
[3] http://opencvplayground.googlecode.com/svn