##主に追加された機能
- ~1500 patches, submitted as PR @ github. All our patches go the same route.
- opencv_contrib リポジトリの追加。たくさんの新しい機能が追加された。
- フリーで使えるa subset of Intel IPP (IPPCV)
- T-API (transparent API) の導入
- ~40 OpenCV 関数の高速化
- OpenCV HAL layer
- 整理された API (features2d, calib3d, objdetect etc.)
- 大きな改善 Python & Java bindings
- 新しく Matlab bindings のα版導入
- Android support の改善
- WinRT supportの大きな改善(video capturing and multi-threading capabilities)
##GSoC2013と2014のプロジェクト
- text detection
- many computational photography algorithms (HDR, inpainting, edge-aware filters, superpixels, …)
- tracking and optical flow algorithms
- new features, including line descriptors, KAZE/AKAZE
- general use optimization (hill climbing, linear programming)
- greatly improved Python support, including Python 3.0 - support, many new tutorials & samples on how to use OpenCV with Python.
- 2d shape matching module and 3d surface matching module
- RGB-D module
- VTK-based 3D visualization module
etc.
##他のコントリビューション
- biologically inspired vision module
- DAISY features, LATCH descriptor, improved BRIEF
- image registration module
etc.
#システム環境
- Windows 8.1
- Visual Studio 2013
- CMake
#準備
※2015年6月4日にダウンロードしたものを用いた、特にモジュールについては随時更新されるので内容が異なる場合がある。
#インストール手順
- OpenCV3.0のダウンロードが済んだら、opencv-3.0.0.exeファイルを実行し、ファイルを展開(例 C:\opencv300)する。
- モジュール(opencv_contrib-master)をダウンロードし適当な場所に解凍する。modulesフォルダの中身をコピーし、C:opencv300\build\modulesにペーストする
- CMakeを起動し、ソースフォルダC:/opencv300/sourcesとビルドフォルダC:/opencv300/buildを指定しConfigure(コンパイラはVisual Studio 2013)する。
- OPENCV_EXTRA_MODULES_PATHにC:/opencv300/build/modulesを指定する
- GenerateするとOpenCV.slnができる。
- Visual Studio 2013でOpenCV.slnを開き、debugとreleaseをそれぞれビルドすればbinとlibファイルが生成されるので、C:\opencv300\build\x86\vc12\bin, C:\opencv300\build\x86\vc12\lib\にそれぞれコピペする
- システム環境パスの設定(下表)
- Visual Studio 2013の起動とプログラム作成 (インクルードやプロパティの設定忘れずに)
変数 | 値 |
---|---|
OPENCV_DIR | C:\opencv300| |
OPENCV_VER | 300 |
Path | $(OPENCV_DIR)\build\x86\vc12\bin |
※build\includeにopencv_lib.hppを作っておくと便利
※C:/opencv300/build/modulesの中身をbuild/include/opencv2へコピーして用いている
// バージョン取得
#define CV_VERSION_STR CVAUX_STR(CV_MAJOR_VERSION) CVAUX_STR(CV_MINOR_VERSION) CVAUX_STR(CV_SUBMINOR_VERSION)
// ビルドモード
#ifdef _DEBUG
#define CV_EXT_STR "d.lib"
#else
#define CV_EXT_STR ".lib"
#endif
#pragma comment(lib, "opencv_bgsegm" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_bioinspired" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_calib3d" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_ccalib" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_core" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_datasets" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_face" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_features2d" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_flann" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_hal" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_highgui" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_imgcodecs" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_imgproc" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_latentsvm" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_line_descriptor" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_ml" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_objdetect" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_optflow" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_photo" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_reg" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_rgbd" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_saliency" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_shape" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_stitching" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_superres" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_surface_matching" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_text" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_tracking" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_video" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_videoio" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_videostab" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_viz" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_world" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_xfeatures2d" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_ximgproc" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_xobjdetect" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib, "opencv_xphoto" CV_VERSION_STR CV_EXT_STR)
- VIZやRGBDモジュールを用いる例はこちら