MacでARToolkit、UVCカメラNGだった
来年のプロコンや、画像処理関係の卒研のテーマの導入に使えないかと、 ARToolkitを使おうと準備中。 手元のMacでいつでも実験…と思い環境を整備するけど、まだまだ準備段階。
参考資料
- ARToolKit on Mac OS X(特にVRML)
-
この資料に沿って、OpenVRMLをインストールしてコンパイルをかけてみたけど、 以下のようなエラーメッセージで止まるなぁ。 jpegのライブラリが見つけられていないみたい。
Directory 'sw/lib' following -L not found Library not found for -ljpeg
UVCカメラNGだった
また、動かしてみたサンプルプログラムで試しているけど、 MacのiSight だと、カメラを好きな方向に向けられないので、 USB接続の手持ちのUVCカメラ "Creative Labs VF0280 Live! Cam Optia AF"を接続してみた。 カメラの認識確認で、iChat を起動するけど、普通に認識してカメラは動いた。 しかしながら、ARToolkit のサンプルプログラムを動かして、Source を切り替えるのだが、 どうもサンプルプログラムでは認識してくれない….
# どうももう少し実験の手間がかかりそうだ…
ワード境界とビットフィールド
構造体を使った演習も終わってるので、ワード境界とビットフィールドについて説明する。
32bitコンピュータであれば、CPUとメモリのデータのデータのやり取りは、4byte=32bit単位で 一括して行う。このため、ワード境界にまたがったデータの配置が行われると、 処理速度の低下につながる。授業では、構造体で"char a[9] ;" があった場合の説明を行う。
処理速度重視ならワード境界配置、メモリの効率よい利用であればワード境界無視(Visual C++なら"#pragma pack"らしい)だけど、年月日のデータをy=int,m=int,d=int なら、96bitになるけど、 y=0..2047,m=1..12,d=1..31で考えれば、20bitで表現も可能となる… ということを説明して、ビットフィールドを説明する。 授業では、組み込み系プログラミングなどでは相変わらずシフト演算や&(AND)や|(OR)を 使った計算も理解の必要もあるし、2進数計算の例も説明する。