opencvに関する総合的なスレッド
opencvとは・・・
Intel Open Source Computer Vision Library の略。
米 Intel 社で開発された画像処理・画像認識用のC言語ライブラリ。
オープンソースであり、商用・非商用を問わず無料で使用できる。
静止画にも動画にも対応しているため、特にロボット工学やバイオメトリクスの研究によく使われている。
推奨プラットフォームは Linux(Intel C Compiler、GNU C)と Microsoft Visual C/C++。
- opencvの本を買った。(2008年6月22日)
- 幾何学変換はすべて行列で定義できるようだ。これは特に難しいことはない。その都度リファレンスを見れば対応できるだろう。
- cvCreateMat()関数で行列を作成できる。これは今後何かの役に立つかもしれない(応用できるかな?)。cvmSet()で行列の各要素に値を代入。
- 画像処理において行列演算はかなり密接な関係にあることがわかる。これはマスターしないとね。行列計算の一覧表は参考文献119ページ
- 2値化の一般的な手法は、RGB各画素の値をすべて足して3で割った値が使われるようだ。(ほかに方法はないのか?)輝度信号と呼ばれるらしい。
- cvCvtColor()関数は色空間を変換するのに用いられる。よく出てくる関数なんで覚えておきたい。そして閾値処理をする関数がcvThereshold()関数だ。
- ヒストグラムが分かった(おいおい・・・)ヒストグラムとは横軸に白-黒の値。縦軸にその画像内における画素数の頻度をとったものである。難しくない。
- 輪郭抽出で気になる一文を発見:輪郭を求めることで、物体の面積、周囲長、円形度や重心などの各種特徴量を抽出することができる。
- エッジとは明るさの微分で求められる。うーんなるほど!実際には近傍画素の差で求めるのね。1次微分に対するのがsobel 2次微分に対応がlaplacian
- ハフ変換は2値画像中の直線、円、その他の任意図形の特徴を抽出することができる汎用的な手法である!これは使えるかも知れない。
作成プログラム
今後の作成予定プログラム
手を認識してipodタッチのようなインターフェースを実現させよう!!(2008.7月末日まで)
最終更新:2008年07月22日 09:59