【发布时间】:2010-11-14 09:23:19
【问题描述】:
我有图像作为 IplImage,我想在一个小型 Gtkmm 应用程序中显示。如何将它们转换为 Gtk 可以显示的内容?
【问题讨论】:
-
既然您自己解决了,最好将解决方案复制到答案帖子中,然后选择该答案作为接受的解决方案。
标签: image-processing gtk opencv gtkmm
我有图像作为 IplImage,我想在一个小型 Gtkmm 应用程序中显示。如何将它们转换为 Gtk 可以显示的内容?
【问题讨论】:
标签: image-processing gtk opencv gtkmm
发布 OP 的解决方案作为答案:
IplImage* image;
cvCvtColor(image, image, CV_BGR2RGB);
Glib::RefPtr<Gdk::Pixbuf> pixbuf = Gdk::Pixbuf::create_from_data(
(guint8*)image->imageData,
Gdk::COLORSPACE_RGB,
false,
image->depth,
image->width,
image->height,
image->widthStep);
Gtk::Image gtk_img;
gtk_img.set(pixbuf);
【讨论】:
您可以使用gdk_new_pixbuf_from_data() 向其传递与IplImage 格式对应的图像格式参数来创建新的pixbuf。 IplImage 图像数据通过 imageData 字段访问。
这是来自 Gtk 论坛的一些 example code。
【讨论】: