【问题标题】:How can I display an OpenCV IplImage in Gtk+/Gtkmm?如何在 Gtk+/Gtkmm 中显示 OpenCV IplImage?
【发布时间】:2010-11-14 09:23:19
【问题描述】:

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

【问题讨论】:

  • 既然您自己解决了,最好将解决方案复制到答案帖子中,然后选择该答案作为接受的解决方案。

标签: image-processing gtk opencv gtkmm


【解决方案1】:

发布 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);

【讨论】:

    【解决方案2】:

    您可以使用gdk_new_pixbuf_from_data() 向其传递与IplImage 格式对应的图像格式参数来创建新的pixbuf。 IplImage 图像数据通过 imageData 字段访问。

    这是来自 Gtk 论坛的一些 example code

    【讨论】:

      猜你喜欢
      • 2011-12-17
      • 2018-03-24
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 2010-12-18
      • 2011-07-08
      相关资源
      最近更新 更多