ついて、原理を含めて細かく解説していきたいと思う。ARToolKit用のマーカの枠の役割は?分割数って何?について解説する。参考になればうれしい。間違っている部分に関しては指摘をいただきたい。その前にまず用語の整理を行おう。マーカは、枠と中の絵で出来ている。枠とマーカ本体を合わせて「マーカ全体」と呼ぶ。あと、英語ブログで売れていた、AR関連と思われる本とか3冊。マーカ検索の流れまず、基本的にARToolKit(及び派生ライブラリ)では、マーカを検索するために2つのステップを踏んでいる。画像内から、「これはマーカかも知れない」と判断できるような四角形(マーカ候補)をたくさん見つけるマーカ候補内部のマーカ本体の位置をスキャンし、マーカかどうかを判断するこの2ステップによって、一番マーカっぽい四角形が見つけられ、それをマーカとして扱っているのだ。基本的にはこの2ステップを、入力画像に対して行う。動画であれば全フレーム行うわけだ。枠の役割まず、マーカの枠の役割について説明する。実際、マーカ候補の四角形がマーカかどうか調べる際には、マーカ部分は除外されているので、他に役割は無いと言える。逆に言うと、他の手段で四角形を探索できれば、こんな阿呆みたいに太い枠は要らないということだ。特殊な、かつActionScriptならではの方法を採用している。FLARRasterFilter_BitmapDataThreshold#doFilter内で、BitmapData#applyFilterやらBitmapData#thresholdで画像を加工し、その後FLARLabeling_BitmapData#labeling内で、BitmapData#getColorBoundsRectで四角形を探している。結果的に枠の制限から飛び出すことが出来るかもしれない。FLARToolKitでは、電脳フィギュアARisの特殊なマーカを普通に認識することが出来る。細くて0にまで出来る。0の場合、マーカ候補の四角形全体を、マーカとして扱うことが出来る。一応、四角形として認識可能にしておく必要がある。デザインを上手く使って、それなりの外枠を残す必要があると言える。電脳フィギュアARisのマーカは、黒ベースになっているため枠っぽいものが無くてもちゃんと認識できる。このように、マーカの背景を黒にしておくと言うのは有効だ。次に、枠の幅について解説。この枠は見てわかるとおり、凄く太い。正確には、幅がマーカ本体の幅の半分になっている。これは「暗黙の了解」らしい。AIR前述の通り画像内からマーカを見つけ出すためだけに存在している枠は、マーカ候補の四角形が見つかった時点で用無しになる。枠部分はバッサリ切り取られている。上下左右25%ずつを、枠と決め付けて切り取っているからだ。細い枠線を使ったとしても、ARToolKitは全く関係なく切り取ってしまう。このサイトウサンマーカ、ちょっと枠が細いが、ARToolKit的には枠の太さはやっぱり1:2:1で変わらない。枠線が細いサイトウサンマーカ実はこれと同じ。時々、ARToolKitについて「マーカの枠は細くても大丈夫」と言う解説があるが、実際のところは枠を細くしたとしてもプログラム上では太いままの扱いなので、本体中心部分でちゃんと差を出さないと上手く認識してくれなくなるので注意が必要だ。コラムちなみに、ソース上ではFLARColorPatt_O3#updateExtpatにて、以下のように表現されている。i_ydiv2;この、「2.5」が、25%を意味している。枠の幅(片方)がマーカ全体の幅の25%を占めていると言う意味だ。次の「5.0」が50%を意味している。マーカ本体の幅がマーカ全体の50%を占めている。合計すると107.5になるので、残り2.5(25%)。この最後の25%が、枠の幅(もう片方)だ。俺が作ったFLARDynamicRatioColorPatt_O3では、この2.5や5.0の値を可変にすることで、枠幅を変更することが出来ている。マーカの分割数ARToolKitの標準では、マーカは16分割されている。パターンファイルを見ても、スペース区切りで1行に16個の数字が並んでいるのがわかるが、アレが16分割の印だ。縦は食う業が出てくるまでに48行あるが、アレは色成分が赤、青、緑の3色あるので、16×3で48になっている。ARToolKitにおける、マーカの分割数とは何か?それは、マーカ本体の絵を見る際の粒度だ。ARToolKitでは、マーカ本体の絵を縦16、横16に分割し、そのエリア内の色の平均値を算出している。その平均値の集合をパターンとして持っているのだ。パターンファイルも、勿論その数値になっている。(正確には少し加工してあるが)当然、マーカ候補の四角形を見つけた時も、同じ事をしている。この、マーカ本体を分割すると言う作業があることで、どんな大きさのマーカ候補にも対応することが出来るのだ。ARToolKitの標準マーカ、Hiroの場合、この記事のデモ(ウチの英語ブログの記事。flash.tarotaro.org.blogにあるような感じで認識されている。このデモでは、パターンファイルを画像化して、ちゃんとマーカ認識を行わせている。このモザイクのような画像でも、あの「Hiroマーカ」と同じ役割をするのだ。16×16の分割が上手く機能するように、考えてマーカをデザインする必要があると言うことだ。枠の幅を一番細くて0にまで変更することが出来る。枠の幅が0の場合、マーカ候補の四角形全体を、16×16に分割することになるのだが、1つのマスが面積的に言うと標準マーカの倍になる。大味な認識をすることになるのだ。そこで、分割数を増やす必要がある。OnlineではSegmentsの値を変更することでマーカの分割数を最大64×64に変更することが出来るのだ。ない勉強会2.0に来ている(4)。普通じゃない勉強会2.0の、午後の発表を見ている。どんな話題にでも、共感できる人はいるんだなーとしみじみ実感。あと、Hentaiはやっぱり凄い。あいつら未来に生きてんな。』をあなたに届けたよ!前回のエントリでは、劇的に重いデモとして初音ミクのウマウマダンスを作ってみたが、今日ご紹介するのはコチラ!さらに重い、凄く重い、表示するのは是非止めて欲しいと言わんばかりのデモ。