2012/01/22

OpenCVのIplImageをOpenGLで使用する

OpenCVで取得したカメラ画像に、3Dオブジェクトをオーバーレイするためには、
OpenCVの画像をOpenGL側の背景に設定する必要があります。

色々なサイトをみたところ、glDrawPixels関数を使えばIplImage形式の画像を描画することができるようです。

というわけで実装してみました。

OpenCVで取得した画像を背景に、OpenGLで急須を描画

処理の流れ:
  • OpenCVでWebカメラから画像を取得する
  • 取得した画像(IplImage)のデータ部分を、glDrawPixel関数を使って描画
  • そのあとOpenGLのオブジェクト(今回はglutWireTeapot)を描画
  • 毎フレーム繰り返す

ひとまずOpenGLのウィンドウにIplImageを表示することができました。

次はOpenCVのcvFindExtrinsicCameraParams2で求めた回転ベクトルと移動ベクトルをOpenGL側のオブジェクトに反映させる方法について調べようと思います。

サンプルコードは別館の「マーカー検出」に置いてあります。

ではまた。

0 件のコメント:

コメントを投稿