arc の日記

はてなダイアリーから引っ越してきました。さらに新しい記事は https://junkato.jp/ja/blog/ で書いています。

NyARToolkitの二値化の閾値をスライダーで調整するツール

wonderfl build flash online | 面白法人カヤックJava版のようなものが、ソースコードのかたちではずっと前から手元にあったのですが、なかなかバイナリ形式で配布できずにいました。

最近このソースを含むオープンソースプロジェクト「matereal」を立ち上げたので、ついでにここでバイナリを公開します*1

このツールの使い道

NyARToolkitを用いて安定してマーカーを検出するためには、カメラの撮像を白黒に二値化する閾値(NyARToolkit 2.5.x系ではNyARRasterFilter_ARToolkitThreshold.setThreshold(int))をうまく指定してやる必要があります。このツールを使うと、閾値をスライダーでインタラクティブに調整しながら撮像を二値化した様子をリアルタイムに確認でき、現在の環境光で適切な閾値がどのくらいかを簡単に知ることができます。

マーカーを読み込む機能はなく、とりあえずARToolKitと同じやり方で正方形を見つけたらオレンジ色で囲むようになっています。

QPToolkitのようなツールと組み合わせると効果的だと思うのですが、作者がずぼらなのか閾値を指定する手だてがないので将来的に連携できたらいいですね。

このツールの使い方

使い方は、中に入っている実行ファイルを起動するだけです。PCに接続されているWebカメラの一覧が表示され、どれかを選ぶとその撮像が二値化されてウィンドウに表示されます。

このツールのソースコード

Google Codeのリポジトリ内に置いてあります。Javaなのでクロスプラットフォームです。materealのおかげでとてもシンプルなコードにまとまっているのがお分かりいただけると思います!

*1:小粒すぎて、本サイトのほうでは紹介しづらい…。