2009-07-27 14 views
2

私は小さなGtkmmアプリケーションで表示したいIplImageとしてイメージを持っています。 Gtkが表示できるものに変換するにはどうしたらいいですか?Gtk +/GtkmmにOpenCV IplImageを表示するにはどうしたらいいですか?

+0

、それが答えポストにソリューションをコピーし、受け入れられた解決策として、その答えを選択するために、おそらく最高です。 – Catskul

答えて

1

gdk_new_pixbuf_from_data()を使用して新しいpixbufを作成し、IplImageのフォーマットに対応する画像フォーマットパラメータを渡すことができます。 IplImage画像データは、imageDataフィールドを介してアクセスされます。

ここはGtkフォーラムのexample codeです。

+0

ありがとう、素晴らしい作品。私はもっ​​とGtkmmスタイルに変更しました。 – bseibold

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); 
関連する問題