ARToolKitで複数のマーカを同時に認識する
公開日:
:
最終更新日:2013/11/10
ARToolKit
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
参考にした書籍はこちら。
3Dキャラクターが現実世界に誕生! ARToolKit拡張現実感プログラミング入門
- 作者: 橋本直
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2008/09/17
- メディア: 大型本
- 購入: 14人 クリック: 208回
- この商品を含むブログ (55件) を見る
パターンファイル名を指定。
char *patt_name[4] = {
"Data/patt.hiro",
"Data/patt.kanji",
"Data/patt.sample1",
"Data/patt.sample2"
};
#define PATT_ID_COUNT 4
パターンファイルを読み込む。
for(i = 0; i < PATT_ID_COUNT; i++){
if( (patt_id[i]=arLoadPatt(patt_name[i])) < 0 ) {
printf("pattern load error !!\n");
exit(0);
}
}
マーカの信頼度の比較。
for(l=0; l<PATT_ID_COUNT; l++){
k = -1;
for( j = 0; j < marker_num; j++ ) {
if( patt_id[l] == marker_info[j].id ) {
if( k == -1 ) k = j;
else if( marker_info[k].cf < marker_info[j].cf ) k = j;
}
}
if( k != -1 ) {
/* get the transformation between the marker and the real camera */
arGetTransMat(&marker_info[k], patt_center, patt_width, patt_trans);
draw(l);
}
}
argSwapBuffers();
キューブを描画。
glTranslatef( 0.0, 0.0, 20.0 );
switch(i){
case 0: glColor3f(0.0, 0.0, 1.0); break;
case 1: glColor3f(0.0, 1.0, 0.0); break;
case 2: glColor3f(0.0, 1.0, 1.0); break;
case 3: glColor3f(1.0, 0.0, 0.0); break;
}
glLineWidth(3.0);
glutWireCube(40.0);
拡張現実(AR)関係のタレコミ募集
拡張現実(AR)関係の面白い情報がありましたら、 akio0911@gmail.com または twitter @akio0911 まで是非、情報をお寄せください。僕が「これは面白い!」と思うネタであれば、ブログのエントリにします。