ProMemo

API

最終更新:

yosilove

- view
だれでも歓迎! 編集

NyARToolKitのAPIメモ

caution! : 非公式です、間違ってる可能性もあります。また、このAPIメモはCPP版です。


大まかなながれ

事前準備

#define CODE_FILE "../../data/patt.hiro"//マーカのパターンファイル
#define CAMERA_FILE "../../data/camera_para.dat"//カメラの設定データ 
NyARParam ar_param;//ARパラメータ
NyARCode* ar_code;//マーカを格納したり
NyARRgbRaster_BGRA* ar_raster;//画像を格納したり
NyARSingleDetectMarker* ar_detectmerker;//マーカ検索に使う
NyARTransMatResult result_mat;//結果行列

初期設定

ARパラメータ、マーカパターン(Code)、ラスタ、マーカ検出器の初期設定をする。

マーカ座標の検出

(1)~(3)がNyARToolKitが担当する部分
(0) 画像読み込み
(1) ラスタに画像読み込み (wrapBuffer)
(2) マーカ検出 (detect Marker)
(3) マーカ行列取得(getTransmationMatrix)
(4) マーカにCGを重ねて表示

画像の取得はNyARToolKitの仕事ではないので別のライブラリ(例えば画像の取得にOpenCV、CG描画にOpenGL)を使う。

パラメータ(ARParam系)

NyARToolKit全体の設定をする。

エンディアン設定 : setEndian

ar_param.setEndian(TNyAREndian_LITTLE);//リトルエンディアンにエンディアンを設定

カメラパラメータ読み込み : loadARParamFromFile

ar_param.loadARParamFromFile(CAMERA_FILE);//カメラの設定ファイルを読み込み

スクリーンサイズ変更 : changeScreenSize

ar_param.changeScreenSize(frame->width, frame->height); 

マーカ(NyARCode系)

マーカの設定をする

初期化

 ar_code= new NyARCode(16, 16);

マーカの設定 : loadARPattFromFile

ar_code->loadARPattFromFile(CODE_FILE);

ラスター(Raster)

マーカ検出用に、マーカが写っている(予定の)画像を設定する。グレイスケール,RGB,BGRA,HSVがあるらしい。

BGRAラスター初期化 : NyARRgbRaster_BGRA

BGRA画像を読み込む
ar_raster = new NyARRgbRaster_BGRA(frame->width, frame->height,false);

ラスターに画像を設定 : wrapBuffer

ar_raster->wrapBuffer((NyARToolkitCPP::NyAR_BYTE_t*)image_bgra_ar->imageData);


マーカ検出(DetectMarker)

ラスタに設定した画像からマーカを検出する。


単一マーカ検出の初期化 : NyARSingleDetectMarker

ar_detectmerker = new NyARSingleDetectMarker(&ar_param, ar_code, 80.0,ar_raster->getBufferType());

モードの設定 : setContinueMode

ar_detectmerker->setContinueMode(false);

マーカ検索 : detectMarkerLite

detectMarkerLite(ラスタ、(int)しきい値)
ar_detectmerker->detectMarkerLite(*ar_raster, 100);

マーカ行列の取得 : getTransmationMatrix

ar_detectmerker->getTransmationMatrix(result_mat);

一致度の取得 : getConfidence

マーカの一致度を取得、double型で0~1の値。
ar_detectmerker->getConfidence();

タグ:

NyARToolKit API
+ タグ編集
  • タグ:
  • NyARToolKit
  • API

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

目安箱バナー