OpenCV

AI用語集

AI用語集ではAIに関する用語を中心に
まとめています。
初めて聞く用語や、インターネットを使っていて
わからないことがあったときにお役立てください。

OpenCV

OpenCV(Open Source Computer Vision Library)とは、インテル社で開発されたープンソースのコンピューター・ビジョン・ライブラリのこと。コンピューター上での画像や動画の処理・解析、機械学習等、さまざま機能が搭載されています。人の顔を検出する機能だけでなく、顔以外のものを検出、特徴点の検出、文字検出、物体追跡、画像修復や補間も可能です。簡単で手軽に使えるグラフィカルユーザーインターフェースとして人気である。

OpenCVとは何か?

プラットフォームとして、OS XやFreeBSD等全てのPOSIXに準拠したUnix系OS、Linux、Windows、Android、iOS等をサポート。画像分割や輪郭検出、フィルター処理などの「画像処理」の他、輪郭処理などの「構造解析」、「カメラキャリブレーション」「モーション解析と物体追跡」「パターン認識」のほか、「機械学習」やGUI(ウィンドウ表示、画像ファイル、動画ファイルの入出力、カメラキャプチャ)などの「ユーザーインターフェース」といった機能が実装可能で、ソフトウェアやアプリなどに活用されている。
OpenCVは2006年10月にバージョン1.0がリリース、2015年6月にバージョン3.0がリリースされた。
バージョン3.0では、Windows、Linux、Mac OS、iOS、Android、Windows RTといったプラットフォームが公式サポート。iOS、Androidに対応したことでスマートフォンやタブレット向けアプリケーションでも動作環境が整った。またC++、Python、Javaの言語バインディングがOpenCV APIとして公式に提供されているほか、画像フォーマットの入出力については、Windows bitmap、JPEG、PNG、Sun rasters、Portable image formatなどをサポートするなど、機能が向上している。

OpenCVを構成するライブラリ

OpenCVにはその機能をまとめたモジュールという単位があり、それぞれライブラリがとして提供されている。アプリ開発の際には必要な機能を含むライブラリをリンクし、そのモジュールの機能を利用することになる。

主なモジュールとライブラリ、その機能は以下の通り。

モジュール名
「calib3d」
ライブラリ名
「opencv_calib3d300.lib」
機能
「カメラキャリブレーション」ほか

モジュール名
「features2d」
ライブラリ名
「opencv_features2d300.lib」
機能
「特徴点抽出」

モジュール名
「highgui」
ライブラリ名
「opencv_highgui300.lib」
機能
「GUI(ウィンドウ表示など)」

モジュール名
「stitching」
ライブラリ名
「opencv_stitching300.lib」
機能
「パノラマ合成」

人工知能に関する研究や実装が進む現在、機械学習の機能を持ち、ディープラーニングのモジュールも備わっているOpenCVは、より人間の目に近い、あるいはそれ以上の物体検出力を持った、アプリケーションの開発を後押しするモジュールと言えるかもしれない。

関連する他の用語