24
現実拡張(Augment Reality)の ARToolkit による学習 2009 2 2 経営情報学部 経営情報学科 gi05126 上善紀明

現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

現実拡張(Augment Reality)の ARToolkit による学習

2009 年 2 月 2 日

経営情報学部 経営情報学科

gi05126 上善紀明

Page 2: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

目次

はじめに

1、 現実拡張とは(Augment Reality)

2、 ARToolkit

2-1. ARToolkit の概要

2-2. ARToolkit プログラム

2-3. ARToolkit を使用した応用プログラム

3、 3DCG モデリング

3-1. 制作概要

3-2. モデル制作

4、 関連研究

5、 おわりに

Page 3: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

1.はじめに ~拡張現実~

拡張現実(AR:Augmented Reality)、あるいは強化現実と呼ばれる技術が今注目されて

いる。これは現実環境とバーチャルリアリティー環境をシームレスに、つまり二つの環境

を違和感なく統合させ、現実環境の普遍的な表現・情報の豊かさと、バーチャルリアリテ

ィー環境の柔軟性を兼ね備えた強化された環境をリアルタイムに実現するという技術で、

コンピューターのディスプレイ上などのインターフェイスに、現実世界の映像と CG 画像

を合成表示することで、あたかも現実世界に仮想物がそのまま出現したかのように見せる

ことができる。(図1参照) この拡張現実という技術を容易に実感できる ARToolkit というC言語ライブラリ群が

ARToolKit Home Page (http://www.hitl.washington.edu/artoolkit/) で配布されている。 今回の目標はこの ARToolKit をダウンロードし、付属されているサンプルプログラム

SampleTest(sample.c)の処理内容を理解・学習する。また 3DCG 作成ソフトで自作のモデ

ルを作り、このプログラムにオリジナルの要素を加え、技術的に応用した物の作成を試み

ることである。

実写画像

CG 画像

ビデオデバイス

コンピュータ

合成処理ディスプレイ

図1.拡張現実モデル

Page 4: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

2.ARToolkit

ARToolKit とは、前章で紹介した拡張現実(Argument Reality)を容易に実現するための

C 言語ライブラリ群である。ARToolKit は米ワシントン大学の HITL(Human Interface Technology Lab)によって開発され、現在までに数多くの AR プロジェクトにおいて利用さ

れている。 通常、AR アプリケーションを構築するには、カメラ等のビデオデバイスで現実世界を

読;み込んだ映像の解析、カメラや対象マーカーの位置・姿勢情報の解析、3D グラフィ

ックの生成および合成といった非常に複雑な処理を要する。しかしこの ARToolKit はこれ

らのマーカー検出・カメラ位置情報の計算、またグラフィックの生成等を行ってくれるた

め、ユーザーはマーカーや3D モデルのデザイン、動作等を定義することによって拡張現

実を実現することが出来る。 モデルの表示部分やウィンドウの処理には Open Graphics Library(以下 OpneGL)が

採用されている。OpenGL とは、米 SGI(Silicon Graphics 社)が中心となって開発した

3D グラフィックスのためのプログラムインターフェイスである。ARtoolKit では 3D グラ

フィックスの処理はOpenGLで行っているためOpneGLが入っていればどんな環境でも動

作が可能である。 また、ウィンドウ処理が OpenGLUtility Toolkit(以下 GLUT)が使用されている。これ

は OpenGL に準拠した C 言語のライブラリで、ARToolKit が C 言語を使用しているためで

ある。 ARToolKitは現在PC Windows(95/98/NT/20000/XP)、SGIIRIX,PCリナックス、 MacOS Xのオペレーティングシステムで動作する。

Page 5: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

2-1. ARToolkit の概要

ARToolkit を使用したアプリケーションには、アプリケーションのコードを記述する部分と 現実のマーカに、オブジェクトを合成処理する部分に分かれる。 アプリケーションの構成は下図のようになる。

表1 ARToolKit の処理ステップ

主な処理ステップとして黄色く塗りつぶされた部分が上げられ、ステップ(a)(f)はア

プリケーションの初期化・終了に実行され、(b)~(e)はアプリケーション終了までルー

プされる。 またこの他に、キーイベント処理(キーボード)やマウスイベント処理(マウス)とい

ったインターフェイスを用いる処理も用意されている。

OpenGL の初期化

(a)ビデオ・カメラパラメータ

の初期化・設定

マーカーパターンの読み込み

3D オブジェクトの読み込み

キャプチャの開始

(b)ビデオ入力画像の取得・表示

(c)入力画像からマーカーの検

出・認識

マーカーの検出・認識

(d)マーカーの位置・状態を計算

(e)3D オブジェクトの描画

初期イベント メインループ

(f)キャプチャの終了

終了イベント

Page 6: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

2-2. ARToolKit プログラム

ARToolKit に付属されている、非常にシンプルなアプリケーションのソースコード

(Simple.c)を使って、プログラムの書き方を学習する。

図2.実行例

プログラムの主たる部分は main, init, mainLoop, draw, cleanup の5つとなる。(表2参

処理ステップ 命令

1.ビデオキャプチャの初期化 init

2.ビデオ入力画像の取得 arVideoGetImage(called in mainLoop)

3マーカーと認識されたパターンの検索 arDetectMarker(called in mainLoop)

4.カメラパラメーターの算出 arGetTransMat(called in mainLoop)

5.バーチャルモデルの描画 draw(called in mainLoop)

6.ビデオキャプチャの終了 cleanup

表2.ARToolKit の処理ステップと命

Page 7: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

照) ①メイン関数 main()

Main ルーチンは以下の通りである。

Main ルーチンでは初期化処理、ビデオキャプチャの始動、メインループを起動するコー

ドが記述されている。 まず gultInit()で OpenGL の初期化設定され、Init()で実行される。この OpenGL の初期

設定にはウィンドウのセットアップも含まれている。 続いて arVideoCapStart()でビデオキャプチャをスタートする。 最後にメインループの起動は次の argMainLoop()によって行われる。第一引数にマウスイ

ベント関数、第二引数にキーイベント関数、第三引数にメインループ関数を指定する。こ

こではマウスイベント関数は使用しないので、コードでは NULL となっている。 ②初期化関数 init() Int ルーチンは、main ルーチンから呼び出されて、ビデオキャプチャの初期化、ARToolKit

// main 関数 int main(int argc, char **argv) { // OpenGL の初期化 glutInit(&argc, argv); Init(); arVideoCapStart(); argMainLoop( NULL, KeyEvent, MainLoop ); return (0); }

Page 8: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

のアプリケーションパラメーターを読み込み、まず画像サイズの初期化を行う。 arVideoOpen で、アプリケーションで使用するビデオデバイスの設定ファイル(XML フ

ァイル)を読み込み、ファイルが存在しなければプログラムを終了する。 次に arVideoInqSize でビデオデバイスの画像サイズを取得し、ウィンドウサイズに設定

する。これも、画像サイズが X,Y サイズともに 0 未満の場合はプログラムを終了する。 ここでカメラパラメータの初期化を行う。 既存のもの(Data/camera_para.dat)もしくは、コマンドラインで指定できるファイル名

が読み込まれる。パラメータは現在の画像サイズによって変更可能である。

static void Init( void ) { ARParam wparam; ARParam cparam; // カメラパラメータ int width, height; // 画像サイズ // ビデオデバイスの初期化 if ( arVideoOpen(CAMERA_CONFIG_FILE) < 0 ) exit(0); // ウィンドウのサイズ取得 if ( arVideoInqSize(&width, &height) < 0 ) exit(0);

// カメラパラメータの設定 if( arParamLoad(CAMERA_PARAM_FILE, 1, &wparam) < 0 ) { Printf ("Camera parameter load error!!¥n"); exit(0); }

rParamChangeSize( &wparam, width, heigh, &cparam );

Page 9: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

arIntCparam でカメラパラメータを読み込み、arParamDisp でパラメータの表示をする。 arLoadPatt でカメラに認識させるマーカーのパターンを読み込む。デフォルト設定では

マーカーは用意されている(hiro.pdf)となる。 最後に、ウィンドウを開く。2つ目のパラメータは、ズーム比率である。

arInitCparam( &cparam ) // カメラパラメータの表示 printf("*** Camera Parameter ***¥n"); arParamDisp( &cparam );

// パターンのロード g_patt_id = arLoadPatt(PATT_FILE); if ( g_patt_id < 0 ) { printf("pattern load error !!¥n"); exit(0); }

// グラフィックスウィンドウの表示 argInit( &cparam, 1.0, 0, 0, 0, 0 );

Page 10: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

③メインループ関数 mainLoop()

// メインループ static void MainLoop(void) { ARUint8 *dataPtr; //画像データ ARMarkerInfo *marker_info; //検出されたマーカー情報 int marker_num; //検出されたマーカー数 int j, k; // 画像の取得 dataPtr = (ARUint8 *)arVideoGetImage(); if ( dataPtr == NULL ) { arUtilSleep(2); return; } // 処理フレーム数のカウント if( g_frame_count == 0 ) arUtilTimerReset(); g_frame_count++; // キャプチャした画像の表示 argDrawMode2D(); argDispImage( dataPtr, 0, 0 ); // マーカの認識 if( arDetectMarker(dataPtr, g_th_detect, &marker_info,

&marker_num) < 0 ) { Cleanup(); exit(0); } // 次のフレームのキャプチャをスタート arVideoCapNext();

Page 11: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

メインループ関数は、終了処理が実行されるまで延々とループされる。 (ⅰ)画像の取得

まず arVideoGetImage でビデオ画像をキャプチャする。画像が取得できなかった場

合、arUtilSleep(2)で2ミリ秒スリープし関数から出る。

(ⅱ)処理フレーム数のカウント arUtilTimerReset()でタイマーがリセットされ g_frame_count++より処理フレーム

数のカウントが始まる。これらは後に FPS を算出するのに使用される。 (ⅲ)キャプチャした画像の表示

argDispImage ()で前の処理でキャプチャした画像を画面に表示させる (ⅳ)マーカーの認識

arDetectMarker()はキャプチャした画像から正しいマーカパターンを持つ正方形を

検出する。ただし、ここでは検出されたマーカの ID や頂点、一致度などの情報を含

んだ構造体と検出されたマーカ数を返されるが、検出されたマーカの中からもっとも

高い一致度のものを探す処理は自分で書かないといけない

(ⅴ)arVideoCapNext()で次のビデオ画像を取得する。

// 検出されたマーカの信頼度を比較し,どの ID と相関が高いか調べる. k = -1; for ( j=0; j<marker_num; j++ ) { if (marker_info[j].id == g_patt_id) { if ( k == -1 ) { k = j; } else if ( marker_info[j].cf > marker_info[k].cf ) { k = j; } } } if ( k == -1 ) { argSwapBuffers(); return; }

Page 12: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

ここで最も一致度の高いマーカを検出する。For ループを抜けた時点でk番目のマーカが

最も一致度の高いマーカとなる。一致するマーカが見つからなかった場合、バッファの内

容を画面に描画するだけに留まる。 そして ARToolKit 最も重要な処理をしているのが arGetTransMat()である。

この関数はキャプチャしたマーカよりカメラ視点に対応するマーカの3次元位置姿勢を

計算する。まず、キャプチャされた正方形マーカと標準形を比較した傾きやサイズの差か

らマーカーの座標系が算出され、求められた座標系のベクトル成分である変換行列からカ

メラからの位置情報に変換される。このベクトルの一次変換を利用した技術は、経営情報

学部・選択必修科目である、経営数学の授業で「行列の一次変換」の単位でベクトル行列

式の概念を学習しているのでそれほど理解に苦しむことはなかった。

図・数式挿入

// マーカ・カメラ間の変換を求める arGetTransMat(&marker_info[k], g_patt_center, g_patt_width, g_patt_trans); Draw(); argSwapBuffers();

ベクトルの一次変換を利用

回転成分

カメラ座標 マーカ座標

Page 13: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

そして draw()で描画処理関数がよばれる。 ④描画処理関数 draw() ここでは、レンタリングの初期化、座標変換行列のセットアップ、モデルのレンタリン

グに分かれる。

static void Draw(void) { double gl_para[16]; GLfloat mat_ambient[] = {0.0, 0.0, 1.0, 1.0}; GLfloat mat_flash[] = {0.0, 0.0, 1.0, 1.0}; GLfloat mat_flash_shiny[] = {50.0}; GLfloat light_position[] = {100.0,-200.0,200.0,0.0}; GLfloat ambi[] = {0.1, 0.1, 0.1, 0.1}; GLfloat lightZeroColor[] = {0.9, 0.9, 0.9, 0.1}; argDrawMode3D(); argDraw3dCamera( 0, 0 ); glClearDepth( 1.0 ); glClear(GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); // カメラ行列による視点の設定 argConvGlpara(g_patt_trans, gl_para); glMatrixMode(GL_MODELVIEW); glLoadMatrixd( gl_para ); glDisable( GL_LIGHTING ); glDisable( GL_DEPTH_TEST ); }

Page 14: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

まずは argDrawMode3D()~ARToolKit に問い合わせを行い3D レンタリングの初期

化を行う。 argConvGlpara()により、さきほど算出した patt_trans (3×4 行列)を OpenGL 形式(4

×4 行列)に変換し、glLoadMatrixed()で座標変換が行われ、原点がカメラレンズの中心か

らマーカの中心へと変換される。以降は OpenGL によるグラフィック描写処理命令が続く。 OpenGL 使用の特徴的な点は、サイズを mm(ミリメートル)単位で指定できるところにあ

る。ただしオブジェクトをミリ単位でしていするにはマーカサイズが正確に設定されてい

ることが条件である。 ⑤終了処理関数 Cleanup() ビデオキャプチャは他のアプリケーションのため、キャプチャプロセスを終了して

video.path を閉じる。 以上これまでが、ARToolKit の最も基本となるプログラムである。

static void Cleanup(void) { arVideoCapStop(); arVideoClose(); argCleanup(); }

Page 15: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

2-3. ARToolkit を使用した応用プログラム

今回、前章で学習した simple.c を応用したプログラムを作成するにあたり、その追加し

た機能は大きく分けて、 ・ Metasequoia(フリー3DCG作成ソフト)で作ったモデル(以降 MQO ファイル)を読

み込ませる。 ・ MQO ファイルを連番で再生させ、モデルにアニメーション効果を付ける。 ・ そのアニメーションに合わせて BGM (MP3) を読み込ませる。 の3点である。

実行例.wma

Page 16: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

3. 3DCG モデリング ~Metasequoia~

前章でも少し述べたが、今回応用プログラムに使用した 3DCG モデリングソフトは、

「Metasquoia(メタセコイア)」である。 Metasquoia は、O.Mizuno が開発している 3D ポリゴンモデラーと呼ばれる種類のソフ

トウェアで、ポリゴン単位で立体のモデルを生成・編集することができる。モデリングに

特化した 3DCG モデラーであり、トゥーンレンタリング・Python スクリプト・プラグイン

等の機能備えている。シェアウェア(有料)版とフリーウェア(無料)版の2種類が提供

されている。(http://www.metaseq.net/metaseq/index.html 参照)

作業ウィンドウ

Page 17: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

3-1 制作概要

作成したオリジナルのモデルを、前章で述べた ARToolKit の応用プログラムで使用する

ことがここの目的である。

3-1-1 制作過程

デザイン計画 → 材料・資料の収集 → 基本モデル作成 → 連番モデル作成 この大きく4段階の工程で作業を進める。

3-1-2 デザイン計画 まず、どういったものを作成するか具体的に考える。 今回はプログラムでBGMを流すため、あるキャラクターのモデルを1体作成し、そのモ

デルに新たに作った楽器を持たせて、演奏しているデザインを計画する。 よって今回はキャラクター・楽器の2つのモデルを作成する。

楽器は金管吹奏楽器の「トロンボーン」に決定する。

3-1-3 材料・資料の収集 Metasequoia で作成したモデルには、もちろん彩色することが可能であるがその方法は

2通りある。 ・ オブジェクの面に直接色情報を付加する。 ・ テクスチャをUVマッピングでオブジェクトに貼り付ける。 オブジェクの面に直接着色する方法では単色(24 ビットハイカラー)に限られるが、色

情報の他に材質(光沢・反射光・透明度など)情報や陰影を付加できる。 UVマッピングとは、簡単に言うと画像ファイルをオブジェクトに貼り付ける方法であ

る。画像ファイルを一枚用意しておけば、オブジェクトのどの面が画像のどの部分にあた

るかを指定するだけで全体を彩色できることになる。 ただしこのプログラム下では、使用できるテクスチャ画像は 24bit ビットマップに限られ、

サイズも2の累乗の正方形のみと数点の制限がある。 今回作成する2つのモデルは、彩色数がすくない楽器は直接着色し、キャラクタの一部

にテクスチャ使用する。 用意するものは、楽器の写真資料とテクスチャ用画像だけになる。

Page 18: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

3-2. モデル制作

3-2-1 基本モデル作成 ここからモデルの作成していく。

モデルは形や色を複雑にすればするほど、プログラム内で描写処理した時にメモリを消

費するので、出来るだけ単純なモデル(面の数が少ない)を作成する。 下の完成図は出来上がったモデルにアンチエイリアス効果を付けてレンタリングしたもの

である。(図2参照) 実際プログラムで描写されるモデルはこの画像よりもう少し荒く表

示される。

完成図 図2完成モデル 3-2-2 キャラモデル作成 先ずキャラモデルから作成する 9種類の基本な図形から加工して目的の形にしていくが、大体は立方体と球のオブジェク

トより作成する。

Page 19: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

加工された基本図形は、頭部と身体部に作業スペースをわけ、パーツがすべて集まったと

ころで合成していく。 人や動物のモデルを作成する場合、動きを付けるのに不自然なくアニメーションするよ

うに大抵はここでボーン(骨・関節情報)を設定するが、今回は GIF アニメーションのよ

うに静止3Dモデルを連番で並べるだけなので、あえてボーン設定はしない。

着色は直接行い、アニメ調に表現するため、光沢や反射などの効果は抑えておき、陰影を

ストレッチ・曲げ加工

※左腕部

組み合わせ

Page 20: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

抑えるために拡散光レベルは少し高めに設定する。

3-2-3 楽器モデル制作 次に楽器(トロンボーン)の設計だが基本的に上記と同じ方法で作成していく。

楽器の構造上単純な作りなので、実際の楽器とほとんど同じパーツ数で制作する。 これもまた本体部とスライド部に分けて作成する。

材質設定

Page 21: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

本体部 スライド部 着色設定は、金属の質感をだすため反射光・反射の強さ・光沢レベルを高めにとる。

スライド管

主管・副主管 支柱管・マウスピース・バランサー・印字部

Page 22: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

3-2-4 連番モデル作成 完成した2つのモデルを組み合わせ、連番用のMQOファイルを作成する。

プログラムで再生されるファイル数を6個に設定されているため、6パターンのポーズを

モデルに付ける。気をつけるべき点は、作成時にモデルの位置を必ず6パターン全て同じ

にしておくことである。ARToolKit では、描写処理時に取得するモデルの位置情報はメタ

セコイアでのモデル位置である。ここではモデルの中心を原点設定している。

6パターンのポーズを

連番で再生し、簡単なア

ニメーションを作る。

Page 23: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

4. 関連研究

現在 ARtoolKit を有志の人間が改良し、C++言語以外の言語で開発出来るようになってい

る。 JAVA の言語、C#言語、Flash ActionScript3、Lua、Python、Android、Gauche 等多彩な

環境で実行できる。 Intel 社が開発しているライブラリで Intel Open CV と呼ばれるライブラリがある。 これも ARtoolKit とは違うが、画像全般の処理をまかなうライブラリであるがパターン認

識、物体追跡などの関数など十分に拡張現実技術に使えるものが揃っている。 これはアレだが、拡張現実を使った世界で始めての商用商品として芸者東京エンターテイ

ンメントが開発・発売している「電脳フィギュア ARis」がある。 ARtoolKit と似たような技術紹介として ARTag BazAR Handy AR PTAM 等がある 現在 ARtoolKit はマーカーを認識して、距離感や座標を取得するが、OpenCV、BazAR、

PTAM 等はマーカーレスタイプであるのだがどうやって座標を取得するのかと言うと特徴

点抽出と呼ばれる技術を利用しているので、これにより、マーカレスで拡張現実が可能な

のである。

Page 24: 現実拡張(Augment Reality)の ARToolkit による学習hanakawa/soturon/2008/jozen.pdf · C 言語ライブラリ群である。ARToolKit は米ワシントン大学のHITL(Human

5. 参考書籍等

OpenGL 関係 日本 SGI 株式会社 和歌山大学 システム工学部 デザイン情報学科 床井浩平氏 HP:http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html ARToolkit 関係 ARToolKit ARToolKit は加藤博一先生と Human Interface Technology Lab によって開発された、

Augmented Reality アプリケーションの為の C ライブラリです。 工学ナビ http://www1.bbiq.jp/kougaku/ 拡張現実を実現する ARToolkit プログラミングテクニック 著者 谷尻 豊寿 出版社 株式会社カットシステム