OpenCV2.2からはライブラリの構成が再構築されています。
旧バージョンと、OpenCV2.2の構成の概略は以下の通りとなっています。
OpenCV2.2 | 旧バージョン | ヘッダファイル | ライブラリファイル | 概要 |
opencv_core | CXCORE | core_c.h (C言語用) core.hpp (C++用) |
opencv_core220.lib opencv_core220d.lib |
メモリ確保/解放、行列、 演算、描画など |
opencv_imgproc | CV | imgproc_c.h (C言語用) imgproc.hpp (C++用) |
opencv_imgproc220.lib opencv_imgproc220d.lib |
画像処理 一般的なフィルタ処理など |
opencv_highgui | HighGUI | highgui_c.h (C言語用) highgui.hpp (C++用) |
opencv_highgui220.lib opencv_highgui220d.lib |
ウィンドウなどのGUI、 ファイル読込/保存、 ビデオファイル、カメラなど |
opencv_ml | ml | ml.hpp | opencv_ml220.lib opencv_ml220d.lib |
サポートベクタマシン、 ブースティングなどの 機械学習 |
opencv_features2d | ― | features2d.hpp | opencv_features2d220.lib opencv_features2d220d.lib |
SURF、FASTなどの 特徴抽出 |
opencv_video | ― | background_segm.hpp | opencv_video220.lib opencv_video220d.lib |
前景/背景分離 |
tracking.hpp | トラッキング | |||
opencv_objdetect | ― | objdetect.hpp | opencv_objdetect220.lib opencv_objdetect220d.lib |
Haar、LBP、HOGなどの オブジェクト検出器 |
opencv_calib3d | ― | calib3d.hpp | opencv_calib3d220.lib opencv_calib3d220d.lib |
カメラキャリブレーション、 ステレオカメラなど |
opencv_flann | ― | flann.hpp | opencv_flann220.lib opencv_flann220d.lib |
高速最近傍処理(FLANN) など |
opencv_contrib | ― | contrib.hpp | opencv_contrib220.lib opencv_contrib220d.lib |
肌検出、MeanShiftなど 完全な状態ではない |
opencv_legacy | ― | legacy.hpp | opencv_legacy220.lib opencv_legacy220d.lib |
旧関数との互換用 |
opencv_gpu | ― | gpu.hpp | opencv_gpu220.lib opencv_gpu220d.lib |
GPU(CUDA)による行列演算、 画像処理など。(β版の扱い) |
ライブラリファイル(*.lib)はReleaseモードの場合、『d』のつかないlibファイルを、Debugモードの場合、『d』の付いたlibファイルを、参照設定して下さい。
ヘッダファイルはopencv.hppにまとめてインクルードされているので、このファイル(opencv.hpp)一つをインクルードすると、すべてインクルードされます。
また、OpenCV-2.2.0-win32-vs2010.exeを使ってデフォルト状態でOpenCV2.2をインストールした時の主なファイルのフォルダ構成は以下の通りです。
C:\OpenCV2.2
┣ bin
┃ ┣ opencv_core220.dll
┃ ┣ opencv_core220d.dll
┃ ┣ opencv_imgproc220.dll
┃ ┣ opencv_imgproc220d.dll
┃ ┣ opencv_highgui220.dll
┃ ┣ opencv_highgui220d.dll
┃ ┣ opencv_ml220.dll
┃ ┣ opencv_ml220d.dll
┃ ┣ opencv_features2d220.dll
┃ ┣ opencv_features2d220d.dll
┃ ┣ opencv_video220.dll
┃ ┣ opencv_video220d.dll
┃ ┣ opencv_objdetect220.dll
┃ ┣ opencv_objdetect220d.dll
┃ ┣ opencv_calib3d220.dll
┃ ┣ opencv_calib3d220d.dll
┃ ┣ opencv_flann220.dll
┃ ┣ opencv_flann220d.dll
┃ ┣ opencv_contrib220.dll
┃ ┣ opencv_contrib220d.dll
┃ ┣ opencv_legacy220.dll
┃ ┣ opencv_legacy220d.dll
┃ ┣ opencv_gpu220.dll
┃ ┗ opencv_gpu220d.dll
┣ include
┃ ┣ opencv
┃ ┃ ┣ cv.h
┃ ┃ ┣ cv.hpp
┃ ┃ ┣ cxcore.h
┃ ┃ ┣ cxcore.hpp
┃ ┃ ┣ highgui.h
┃ ┃ ┗ ml.h
┃ ┣ opencv2
┃ ┃ ┣ opencv.hpp
┃ ┃ ┣ core
┃ ┃ ┃ ┣ core_c.h
┃ ┃ ┃ ┗ core.hpp
┃ ┃ ┣ imgproc
┃ ┃ ┃ ┣ imgproc_c.h
┃ ┃ ┃ ┗ imgproc.hpp
┃ ┃ ┣ highgui
┃ ┃ ┃ ┣ highgui_c.h
┃ ┃ ┃ ┗ highgui.hpp
┃ ┃ ┣ ml
┃ ┃ ┃ ┗ ml.hpp
┃ ┃ ┣ features2d
┃ ┃ ┃ ┗ features2d.hpp
┃ ┃ ┣ video
┃ ┃ ┃ ┣ background_segm.hpp
┃ ┃ ┃ ┗ tracking.hpp
┃ ┃ ┣ objdetect
┃ ┃ ┃ ┗ objdetect.hpp
┃ ┃ ┣ calib3d
┃ ┃ ┃ ┗ calib3d.hpp
┃ ┃ ┣ flann
┃ ┃ ┃ ┗ flann.hpp
┃ ┃ ┣ contrib
┃ ┃ ┃ ┗ contrib.hpp
┃ ┃ ┣ legacy
┃ ┃ ┃ ┗ legacy.hpp
┃ ┃ ┗ gpu
┃ ┃ ┗ gpu.hpp
┗ lib
┣ opencv_core220.lib
┣ opencv_core220d.lib
┣ opencv_imgproc220.lib
┣ opencv_imgproc220d.lib
┣ opencv_highgui220.lib
┣ opencv_highgui220d.lib
┣ opencv_ml220.lib
┣ opencv_ml220d.lib
┣ opencv_features2d220.lib
┣ opencv_features2d220d.lib
┣ opencv_video220.lib
┣ opencv_video220d.lib
┣ opencv_objdetect220.lib
┣ opencv_objdetect220d.lib
┣ opencv_calib3d220.lib
┣ opencv_calib3d220d.lib
┣ opencv_flann220.lib
┣ opencv_flann220d.lib
┣ opencv_contrib220.lib
┣ opencv_contrib220d.lib
┣ opencv_legacy220.lib
┣ opencv_legacy220d.lib
┣ opencv_gpu220.lib
┗ opencv_gpu220d.lib
C:\OpenCV2.2\include\opencv内のcv.hなどのファイルは使用可能ですが、
C:\OpenCV2.2\include\opencv2内のimgproc.hppなどを使うのを推奨とされています。