グラフィック系ライブラリの調査

少し思う所あって、グラフィック系ライブラリの調査。
まずは、コンピュータビジョンをサポートするOpenCVIntelが作成したオープンソースのライブラリです。
エッジ検出やら背景差分やらのベーシックな機能を提供する他、サポートベクターマシンのような学習機能もサポートしています。
また、サンプルとして顔画像認識なんかもついていて、なかなか実用的。
あと、ライブラリがOSの違いを隠蔽してくれるので、カメラを使うようなプログラムでもWindows, Mac, Linux等で同じソースが使えるらしい。
奈良先端大の方が解説書を出しています:http://www.amazon.co.jp/OpenCV-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%96%E3%83%83%E3%82%AF-%E5%A5%88%E8%89%AF%E5%85%88%E7%AB%AF%E7%A7%91%E5%AD%A6%E6%8A%80%E8%A1%93%E5%A4%A7%E5%AD%A6%E9%99%A2%E5%A4%A7%E5%AD%A6-OpenCV%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%96%E3%83%83%E3%82%AF%E5%88%B6%E4%BD%9C%E3%83%81%E3%83%BC%E3%83%A0/dp/483992354X/ref=sr_1_1?ie=UTF8&s=books&qid=1200310483&sr=1-1
Macでのインストールの仕方は、finkというパッケージシステム?で必要なライブラリをインストールしてから、ソースをコンパイルするのじゃ、という解説が多かったんだけど(例えばこちら)、portsとの関係が訳わからなくなったので途中でやめ。
portsでも提供されているようなので、port install opencvでインストール。
サンプルは/opt/local/share/opencvにインストールされる。
コンパイルは(ホームディレクトリにコピーとかしてから)、
g++ -Wall -O2 `pkg-config --cflags opencv` `pkg-config --libs opencv` -o lkdemo lkdemo.c
とかで。facedetectっていうサンプルで顔画像認識をしてくれるんだけど、実行に必要なデータは、/opt/local/share/opencv/haarcascades/にあります。
普通に?顔画像を認識してくれます。技術の進歩ってすばらしい。


もう一つはOpenGL。言わずと知れた3Dグラフィック用のライブラリですが、Macからも普通に使えます。
GLUTによる「手抜き」OpenGL入門」というページの解説が非常に良くて、こちらを参考に勉強。
こちらに書いてありますが、Macでも
cc -framework OpenGL -framework GLUT -framework Foundation program.c
で普通にコンパイルできます。すばらしい。ヘッダファイルの場所が他のアーキテクチャとは違ってGL/glut.h ではなく GLUT/glut.hである所だけが注意点。

参考書も買ってきたので、これから勉強。