GOING MY WAY -我道を行く人のブログ-

全自動引きこもり機3作目製作開始!!

ARtoolkit+MMD

[ リスト | 詳細 ]

記事検索
検索

全2ページ

[1] [2]

[ 次のページ ]

記事製作2

前回に引き続きホームページ記事第二段!!としてARtoolKit_MMDの記事を書いています。

現在ソースコードの解読中です。
幸い作者様が丁寧にコメントアウトされているめ、非常にわかりやすいです。
とりあえずメインループ関数より手前の主な処理をまとめましたよ^^x

Window.cppがmainプログラムです。
イメージ 1

結構なボリュームですw
DirectXの音声やらモデリングの処理は省いて記述してますが、それでこれってw
作者さんリスペクト☆

あ、そうそう、阪大の中にNHKロボコンにでているサークルが私がいるキャンパスにありました。
入るかどうかは知りませんが木曜日あたりに見学に行く予定です^^x

この記事に

開く コメント(0)

記事製作

以前使用したARtoolKit_MMDに関して記事を書いています。
内容は導入と動作、ソースコードの解説、応用して遊んでみよう的なもので、ARtoolKitはパイオニアが大勢いるのでKinectのように基礎を説明するのではなく応用編になりそうです。

前はカメラ2台でマーカを撮影しなくても合成できる方法をやってみましたが、今度は複数マーカを使って似たようなことをする方法を紹介しようと思っていたり。

前に作ったやつ↓

これは精度が悪かったので今度こそ成功させてみせますw

といっても色々忙しい日々なのでのんびりのんびりですね^^x


この記事に

開く コメント(4)

ニコ動から来た人

カメラにマーカ取り付けて〜
イメージ 1
イメージ 2
イメージ 3
イメージ 4

逆行列と行列の積とかもろもろのプログラム書いて〜

先日の数式打ち込んで〜
イメージ 5


完成!!
イメージ 6
イメージ 7
イメージ 8

マーカが画面に入っている必要がないので、基本的にどの視点からも見れます。
ズームインができるのが一番大きいですね^^

でも、いくつか問題点がありまして・・・
カメラ1から得られるカメラ2の座標が安定しなくて、修造さんがプルプル震えます。
それだけじゃなく、カメラ2とマーカ2の変換行列は手打ちなためどうしても誤差が出るらしく、カメラを動かすと結構モデルの位置がずれます。

正直この辺がこの方法のですかねw
マーカ1を複数マーカにすれば認識精度は上がりますが、う〜んそこまでするんだったらARtoolkit以外のなにかPTAMとかを使って特徴点トラッキングとかをした方がよっぽど綺麗な動作をしそうです。

PTAM

PTAMの地面決定が上手くいかない欠点をARtoolkitで克服してる人がいます
PTAMの改良

これと同じことしたらマーカー無しのリアルタイム描画ができそうです^^x

この記事に

開く コメント(6)

前回2つのカメラの映像を2つのウィンドウに表示すると宣言しましたが、とある事情で必要なくなったのでやめます。

かわりではないですけど、マーカーレス理論を考えてきたので紹介します。

イメージ 1

イメージ 2

イメージ 3

イメージ 4
カメラ1でマーカ1の付いたカメラ2を撮影し、カメラ2でマーカ2を撮影します。
カメラ1とマーカ2は固定され、カメラ2とマーカ1のみを動かします。
このときマーカ2が無くなっても、カメラ1とマーカ1の位置関係から計算して、カメラ2はマーカ2があった場所がわかるという話です。

数学的に考えてみると、まず式③④⑤が得られます。
イメージ 5

といっても恐らく既出のアイディアだと思います。
考えるだけなら5分かかりませんし。

ていうかこんなことしてないで卒研やらないとマズイwww

この記事に

開く コメント(2)

春休みの宿題とか言いながらさっそくARtoolkitをやっていますw
だってこの連休、入試で学校行けなくて卒研できないんですよ><

そんな感じで例の2台カメラによるマーカレス作戦はとりあえず2台のカメラの初期化と映像の読み込みまでできるようになりましたよ^^

WEB上であまりスマートなやり方を紹介している人がいないのでここでサクッとやっちゃいますね。


1.PCに2台のカメラを接続

2.工学ナビさんのところの”ARToolKitで使用するビデオデバイスの設定ファイルを自動生成するソフト”をDLL

3.ソフトを起動するとカメラの数だけxmlファイルができるから、それを自分のプロジェクトのDataフォルダに移動

4.ARtoolkitのexampleのtwoVeiw.cを開く

5.そこに2台カメラ用の関数があるから、それを参考に自分のソースを書き換える
 関数は戻り値と引数も変化するから注意

  arVideoOpen    ⇒ ar2VideoOpen
  arVideoInqSize  ⇒  ar2VideoInqSize
  arVideoCapStart   ⇒  ar2VideoCapStart
  arVideoCapStop    ⇒  ar2VideoCapStop
  arVideoClose      ⇒  ar2VideoClose
  arVideoGetImage   ⇒  ar2VideoGetImage
 arVideoCapNext    ⇒  ar2VideoCapNext


以上の手順でいけると思うよ!!(Visual Sutudio2008/2010で動作確認しました。)

5.は地道な作業になると思うので頑張ってください。

次は2つのウィンドウにそれぞれのカメラの映像がでるようにしようと思います。
できたら紹介しますね^^x

イメージ 1




この記事に

開く コメント(1)

全2ページ

[1] [2]

[ 次のページ ]


.


みんなの更新記事