LoginSignup
1
2

More than 5 years have passed since last update.

openFrameworksのアドオンofxQuadWarpを使ってプロジェクションマッピング

Last updated at Posted at 2019-02-23

1 はじめに

openFrameworksで簡単なプロジェクションマッピングする方法を共有します。

2 環境

Visual Studio Community 2017
openFrameworks 0.10.1

3 Visual Studio 2017のセットアップ

以下のサイトを参考に、Visual Studio 2017のセットアップを行う。ただし、「Visual Studio向けopenFrameworksプラグイン」は「前提条件が不足しているため、次の製品に拡張機能をインストールできません」とエラーが出てインストールできなかったため省略した。
https://openframeworks.cc/ja/setup/vs/

4 openFrameworksのダウンロード

  1. openFrameworksのサイトからopenFrameworksをダウンロードする。また、Visual Studio 2017で開発する場合はopenFrameworks for visual studio (2017)をダウンロードする。
    https://openframeworks.cc/ja/download/
    openframeworks_download.png

  2. ダウンロードしたものを解凍し、任意のフォルダに置く

5 プロジェクトの作成

  1. ダウンロードしたopenFrameworksのフォルダにある、projectGenerator-vs\projectGenerator.exeを実行する

  2. ウィンドウが表示されるため、自分の環境に合わせて設定する

    • Projection name:任意のプロジェクト名を設定する
    • Projection path:プロジェクトを作成するパスを設定する。デフォルトで入っているため、特に問題なければそのままにする
    • Addons:「ofxPoco、ofxOpenCv、ofxXmlSetting」を設定する
  3. Generateをクリックする
    codeGenerator.png

  4. GithubでofxQuadWarpをダウンロードする
    https://github.com/julapy/ofxQuadWarp/tree/master

  5. 先程作成したプロジェクトのsrc配下にダウンロードした以下のソースコードをコピーする

    • main.cpp
    • ofApp.cpp
    • ofApp.h
    • ofxQuadWarp.cpp
    • ofxQuadWarp.h
  6. プロジェクトのbinフォルダ配下に画像を置く

6 ソースコードの修正

openFrameworks 0.10.1の場合、ofxQuadWarpはビルドエラーとなるため以下の修正を行う。
※Github上で0.10.1で動作するように修正するpull requestがあったので、その修正が適用されれば以下の作業は不要です

  • 以下のインクルードを追加する
ofxQuadWarp.cpp
 #include "ofxXmlPoco.h"
 #include "calib3d.hpp"
  • ofXmlをofxXmlPocoに修正する
ofxQuadWarp.cpp
// ofXml xml;
ofxXmlPoco xml;

7 動作確認結果

四隅の点をマウスでドラッグ&ドロップで動かし、プロジェクションしたい物体の四隅に合わせることができます。
動作確認.png

実際にプロジェクターで写した結果は以下となります。画像では荒いですが、実際は綺麗に写っています。
IMG_0922.jpg

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2