02. Topics‎ > ‎

OpenCV

解説

 OpenCV(Open Source Computer Vision)はアメリカのIntel社で開発された、画像処理プログラミング用ライブラリです。
 名前からわかるように、リアルタイムコンピュータビジョン用の関数が500以上もあり、それがなんと無料(オープンソース)なんです!(名前のまんまw)
 画像処理は最近ホットな話題となっており、いろんな所でいろんな人がやってます。本もいっぱいありますね。それを見てみるとわかるように、それぞれの手法のプログラミング自体はそんなに難しくないんです。じゃあ何が難しいって?画像の入出力カメラとの連動です(これも出来る人には難しくないでしょうがw)。
 そんなことをWindowsだろうがLinuxだろうがMacだろうが、ちゃちゃっと一瞬でやってくれるのがOpenCVです
 また、多くの人が利用しているためたくさんの情報がインターネットという大海原に転がっています。初心者にはとても嬉しいことです。
 
 2010年5月現在の最新バージョンは2.1(April, 2010)です。
 1.xから2.xにバージョンアップしてからかなりの変更がありました。特にメモリの開放関連が非常に楽になりました♪ 

関連研究 

 白濱研究室では感性君というロボットがいます(右の画像)。オープンキャンパスの時に大人気の白濱研究室のマスコットキャラクターです☆
 感性君のとなるUSBカメラから得た情報を処理するのにもOpenCVが使われています。
 
 また、現在みなさんが使っている「ネズミ」という名の…そう、マウス。Windows 7が登場してタッチパネルになって、マウスが要らなくなる日が近いかもしれません。しかし、タッチパネルだとポテチを食べながらPCを操作出来無くなります。だって画面がベトベトになりますよ?ということで、画像処理で認識してPCを自在に動かすような研究も行っています。もちろん中にはOpenCVが使われています。これが実現すればポテチを食べながらだって大丈夫w
 
 
 さらに、画像から対象を3D復元する研究も行っています。モーションキャプチャーってやつです。ゲームや映画のキャラクター動作制作、スポーツ選手の運動解析なんかに使われています。
 しかしその設備は超高級です。カメラとPCだけで誰でもそのようなことが出来たら楽しいですね。そうです。ここでもカメラが登場するということは、画像処理が必要になり、実装にはOpenCVの力を借りています。

おわりに

 OpenCVは非常に強力なツールです。有名な手法であれば関数を呼ぶだけで実行できます。それゆえに、画像処理が出来る「つもり」にすぐなれます。「つもり」で止まらぬよう、きちんとアルゴリズムなどを理解するように心がけましょう
わかる出来る理解して出来るですね。理解すれば、過去の偉人の素晴らしさを実感し、きっと新たな発見もあると思います。
担当:山崎

参考URL