Image processing 如何在Gtk+/Gtkmm?
我想在一个小的Gtkmm应用程序中显示图像作为IplImage。如何将它们转换为Gtk可以显示的内容?您可以使用Image processing 如何在Gtk+/Gtkmm?,image-processing,gtk,opencv,gtkmm,Image Processing,Gtk,Opencv,Gtkmm,我想在一个小的Gtkmm应用程序中显示图像作为IplImage。如何将它们转换为Gtk可以显示的内容?您可以使用gdk\u new\u pixbuf\u from_data()向其传递与IplImage格式对应的图像格式参数来创建新的pixbuf。IplImage图像数据通过imageData字段访问 以下是来自Gtk论坛的一些信息。将OP的解决方案作为答案发布: IplImage* image; cvCvtColor(image, image, CV_BGR2RGB); Glib::RefPt
gdk\u new\u pixbuf\u from_data()
向其传递与IplImage格式对应的图像格式参数来创建新的pixbuf。IplImage图像数据通过imageData
字段访问
以下是来自Gtk论坛的一些信息。将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);
IplImage*图像;
CVT颜色(图像、图像、CV_BGR2RGB);
Glib::RefPtr pixbuf=Gdk::pixbuf::从_数据创建_(
(guint8*)图像->图像数据,
Gdk::颜色空间_RGB,
假,,
图像->深度,
图像->宽度,
图像->高度,
图像->宽度步长);
Gtk::图像Gtk_img;
gtk_图像集(pixbuf);
既然您自己解决了这个问题,那么最好将答案复制到答题帖中,然后选择该答案作为可接受的答案。