2

我有图像作为 IplImage,我想在一个小型 Gtkmm 应用程序中显示。如何将它们转换为 Gtk 可以显示的东西?

4

2 回答 2

3

发布 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);
于 2012-05-14T23:34:14.467 回答
1

gdk_new_pixbuf_from_data()您可以通过将与 IplImage 格式对应的图像格式参数传递给它来创建一个新的 pixbuf 。IplImage 图像数据通过该imageData字段访问。

这是来自 Gtk 论坛的一些示例代码。

于 2009-08-05T01:36:56.340 回答