OpenCV

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
OpenCV
開発元 Intel, Willow Garage, Itseez
最新版 3.0.0 / 2015年6月4日(47日前) (2015-06-04
最新評価版 3.0 RC1 / 2015年4月24日(2か月前) (2015-04-24
対応OS Windows, Linux, FreeBSD, Mac OS X, AndroidiOS
プラットフォーム クロスプラットフォーム
対応言語 C/C++JavaPython
種別 ライブラリ
ライセンス BSDライセンス
公式サイト opencv.org
テンプレートを表示

OpenCV(オープンシーヴィ、英語: Open Source Computer Vision Library)とはインテルが開発・公開したオープンソースコンピュータビジョン向けライブラリ[1]。 2009年にWillow Garage(ウィロー・ガレージ)に開発が移管された後、2015年現在はItseezがメンテナンスを行なっている[2]

概要[編集]

画像処理・画像解析および機械学習等の機能を持つC/C++JavaPythonMATLAB用ライブラリ[3]プラットフォームとしてMac OS XFreeBSD等全てのPOSIXに準拠したUnix系OSLinuxWindowsAndroidiOS等をサポートしている。

歴史[編集]

1999年にプロジェクト開始。最初のアルファ版が公開されたのは、国際会議CVPR 2000 (IEEE Conference on Computer Vision and Pattern Recognition 2000) である。2001年から2005年の間に5つのベータ版がリリースされた。1.0版がリリースされたのは2006年。2008年にWillow Garageによるサポートを受け、開発状況が再び活発になった。2009年10月に2回目のメジャーバージョンアップが実施され、2.0版がリリースされた。OpenCV 2.x系列は2015年2月にリリースされた2.4.11が最後となり[4]、2015年6月に3回目のメジャーバージョンアップとしてOpenCV 3.0が正式リリースされた。OpenCV 3.0では従来のC言語関数形式のインターフェイスはレガシーAPI扱いとなりメンテナンスが終了しているため、代わりにC++ APIを使うことが推奨されている[5]

機能[編集]

実装分野は次の通り。

Windows版ではカメラ入力とリンクさせたい場合などでDirectX SDKが必要になることがある[疑問点 ]

OpenCV 2.1[6]SSE拡張命令を使用した最適化コードが実装されている。

OpenCV 2.2[7]CUDAを使ったアクセラレータであるgpuモジュール、OpenCV 2.4.3[8]OpenCLを使ったアクセラレータであるoclモジュールが追加された。gpuモジュールを有効にするためには、OpenCVをWITH_CUDA=ON構成でビルドする必要がある[9]。また、oclモジュールを有効にするためには、OpenCVをWITH_OPENCL=ON構成でビルドする必要がある[10]。なおOpenCV 2.4.11時点で、公式のWindows用ビルド済みバイナリではCUDAは有効にされていないが、OpenCLは有効にされている。またgpuモジュールおよびoclモジュールはともに、従来のCPUベースのOpenCV機能と比べて、対応するチャンネルフォーマットに関して制約がある。そのほか、gpuモジュールを使用するためには、CUDAに対応したNVIDIAGPUを、そしてoclモジュールを使用するためには、OpenCL 1.1に対応したハードウェアを用意する必要がある。

なお、OpenCL 3.0ではgpuモジュールはcudaモジュールに改称され、また独立したoclモジュールは廃止されてOpenCVの各モジュールに分散・融合されている[11]。OpenCLの必須バージョンが1.2になったほか、オプションとしてOpenCL 2.0のShared Virtual Memoryもサポートしている[12]

各種言語バインディング(ラッパー)[編集]

  • Java用ラッパー
    • JavaCV - OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, ARToolKitPlus のラッパー

関連項目[編集]

参照[編集]

[ヘルプ]

外部リンク[編集]