最終更新:2016-05-18 (水) 05:42:36 (3162d)
OpenCV 2.0
Top / OpenCV 2.0
http://opencv.jp/opencv2-x-tips/changelog_from_11pre
OpenCV 1.1pre から OpenCV 2.0 の変更点(ChangeLog?)
(September, 2009)
新しい機能と特徴:
- 一般:
- Windowsでのインストールパッケージが修正され,プリコンパイルされたバイナリでは MinGW が利用されています.
- (SourceForge のサイトにあるリリースノートを参照してください)
- Windowsでのインストールパッケージが修正され,プリコンパイルされたバイナリでは MinGW が利用されています.
- 自動ツールによるビルドを修正しました.
- MLL:
- 新形式のクラスのエイリアス(例えば,cv::SVM ~ CvSVM)や,
- (以前のCvMat だけでなく cv::Mat に対する)学習/予測メソッド,が追加されました.
- 現在のMLLは,OpenCVのその他の部分に対してよりシームレスに利用できます.
- 新形式のクラスのエイリアス(例えば,cv::SVM ~ CvSVM)や,
バグ修正:
- 2.0 betaで見つかった大量のバグが修正されています.OpenCV バグトラッカーを参照してください
- http://sourceforge.net/tracker/?group_id=22870&atid=376677
- バグレポートやパッチを提供してくれた皆さんのおかげです!
メモ
- IplImage, CvMat, CvMatND? という画像(行列)を表す型は、OpenCV 2.0以降はMatという1つのクラスにまとめられました。
2.0 betaの変更点
(September, 2009)
新しい機能と特徴:
- 一般:
- OpenCV のほとんどの機能(cxcore, cv, highgui)に対して,全く新しい C++ インタフェースが導入されました.
- 一般的に,同じ結果を得るのにも,より短いコードですむようになります.
- また,メモリの自動管理や,その他多くの利点が得られます.
- opencv/doc/opencv.pdf の C++ リファレンスセクションと,opencv/include/opencv/*.hpp を参照してください.
- また,以前のインタフェースはそのままで,現在のバージョンでもサポートされます.
- OpenCV のほとんどの機能(cxcore, cv, highgui)に対して,全く新しい C++ インタフェースが導入されました.
- ソースディレクトリの構造が再構成されました.
- 全プラットフォームのすべての外部ヘッダが,一つのディレクトリに置かれています.
- メインのビルドシステムに CMake http://www.cmake.org (推奨バージョンは 2.6.x)を利用するようになりました.
- Windows パッケージでは,Visual Studio のプロジェクトファイル,Microsoft Visual C++,Borland C++ または MinGW の makefile? はいずれも提供されません.CMake を利用して生成してください.
- Mac OS X の場合は,Xcode のプロジェクトファイルを生成することができます.
- Linux やその他のプラットフォームの場合は,Eclipse や Code Blocks? のようなクロスプラットフォームIDEのプロジェクトファイルや,コマンドラインからOpenCVをビルドするための Makefile を生成することができます.
- OpenCV リポジトリが SourceForge にホストされた Subversion に移行しました:
- CXCORE, CV, CVAUX:
- 現在の CXCORE では,様々な線形代数関数(solve,inverte,SVD,determinant,Eigen など)や,それに対応する旧形式の関数(cvSolve,cvInvertなど)内で LAPACK(OpenCV 2.0 では CLAPACK 3.1.1.1)を利用しています.
- 多くの特徴検出器,物体検出器,ディスクリプタが新たに追加されました.
- (まだそれに関するドキュメントはありませんが),cv.hpp および cvaux.hpp を参照してください:
- FAST - Edward Rosten から提供された高速なコーナー検出器
- MSER - Liu Liu から提供された maximally stable extremal regions
- LDetector - V. Lepetit(別名 YAPE)による高速な円ベースの特徴検出器
- Fern?-ベースの点分類器,平面物体検出器 - M. Ozuysal and V. Lepetit の研究に基づくものです
- One-way ディスクリプタ - PCAベースの強力な特徴ディスクリプタ, (S. Hinterstoisser, O. Kutter, N. Navab, P. Fua, and V. Lepetit,Real-Time Learning of Accurate Patch Rectification").Victor Eruhimov の提供です.
- スピンイメージ3次元特徴ディスクリプタ - A. Johnson の博士論文に基づくもの. 実装は Anatoly Baksheev です.
- 自己相似特徴 - Rainer Leinhar の提供.
- HoG 人・物体検出器 - Navneet Dalal のフレームワーク(http://pascal.inrialpes.fr/soft/olt/)の再実装.現在のところ,検出部分だけが移植されていますが,これはオリジナルの学習コードと完全な互換性があります.cvaux.hpp と opencv/samples/c/peopledetect.cpp を参照してください.
- LBP (Local Binary Pattern) 特徴
- Haar 特徴ベースの物体検出器の拡張版 - Maria Dimashova による実装.Haar 特徴やLBPをサポートし,その他の特徴も同じように追加できます.
- 適応的肌色検出器,fuzzy meanshift 追跡器 - Farhad Dadgostar による.cvaux.hpp と opencv/samples/c/adaptiveskindetector.cpp を参照してください.
- 新形式の HAAR+LbP 物体検出器に対応した,新しい traincascade アプリケーションが追加されました.
- opencv/apps/traincascade を参照してください.
- Marius Muja による近似最近傍探索の強力なライブラリ FLANN が,OpenCV に標準で付属し,このライブラリに対する OpenCV 形式のインタフェースが cxcore に入りました.
- cxcore.hpp と opencv/samples/c/find_obj.cpp を参照してください.
- PhaseSpace? がバンドル調整エンジンを提供してくれました.cvaux.hpp を参照してください.
- (G. Farnerback の論文 "Two-Frame Motion Estimation Based on Polynomial Expansion" に基づく)密なオプティカルフロー推定関数が追加されました.
- cv::calcOpticalFlowFarneback? と C++ ドキュメントを参照してください.
- 全ての画像変形処理(resize, remap, warpAffine, warpPerspective)が,バイキュービックおよび lanczos 補間をサポートします.
- 新たな線形および非線形フィルタリング処理(filter2D, sepFilter2D, erode, dilate ...)のほとんどが,任意の任意モードをサポートするので,ROIの外側にある有効な画像ピクセルを利用できます
- (つまり,ROI はもはや「孤立」したものではありません).C++ ドキュメントを参照してください.
- MLL:
- ブースティングやランダムツリーと比較してかなり高速に学習できる
- Extremely Random Trees が追加されました(Maria Dimashovaによる).
- ブースティングやランダムツリーと比較してかなり高速に学習できる
- 決定木エンジンとそれに基づくクラス(決定木,Boost,ランダムツリー)を改訂しました:
- mltest が追加されました.まだまだ完全ではありませんが,
- MLLクラスの一部に対する正確性テストを含みます.
- HighGUI:
- Linux ステレオカメラのサポート(現在は Videre のカメラのみ)が追加されました.
- 2眼カメラ,3眼カメラ,... n眼カメラに対して,同一のキャプチャインタフェースが存在します.
- Linux ステレオカメラのサポート(現在は Videre のカメラのみ)が追加されました.
- 画像をメモリ上のバッファに圧縮して置いたり,逆にそれを展開したりすることが可能です.
- C++ HighGUI リファレンスマニュアルを参照してください.
- ドキュメント:
- (James Bowman と Caroline Pantofaru によって)リファレンスマニュアルが,HTMLからLaTeXになりました.そして,オフラインで読むための opencv.pdf と,以下で参照できる最新のオンラインドキュメント(LaTeX->Sphinx->HTML というように変換されたものです)があります.
- サンプル,その他:
- Shigi Yu による,目の検出器.
- opencv/data/haarcascades/*[lefteye|righteye]*.xml を参照してください.
- 正面顔検出器用のサンプル LBP カスケードが,Maria Dimashova によって作られました.
- opencv/data/lbpcascades/lbpcascade_frontalface.xml を参照してください.
- 高品質な体の部位検出器,顔特徴検出器が, Modesto Castrillon-Santana によって提供されました.
- opencv/data/haarcascades/haarcascade_mcs*.xml を参照してください.
- Shigi Yu による,目の検出器.
最適化:
- 多くの基本関数と画像処理演算(算術演算,幾何学変換,フィルタリングなど)に,SSE2最適化を施し,数倍の高速化を達成しました.
- IPP のサポートモデルを変更しました.
- IPP はコンフィグ時にCMakeによって検出され,OpenCV にリンクされます.(しかし,ベータではまだ実装されていません).
- パラメータの調整により,PNG エンコーダのパフォーマンスが4倍改善されました.
バグ修正:
- バグレポートやパッチを提供してくれた皆さんのおかげです!
- http://sourceforge.net/tracker/?group_id=22870&atid=376677 の,クローズされたリスト,まだオープンのままのバグのリストを参照してください.
既知の問題:
- 現在のところ configure+autotools に基づくビルドは,動作しません.
- CMake を利用してください.
- SourceForge の OpenCV バグトラッカーには,まだ約150のオープンされ
- たバグが残っています.いくつかは実際には修正済ですが,残りのバグの大半は,OpenCV 2.0 リリース版で修正される予定です.
- IPP はサポートされていません.しかし,新しい OpenCV では,多くの SSE2 コードをインクルードしているので,これは致命的な問題ではありません.(少なくとも,SSE2最適化がなされていない最重要関数に対しては,)2.0 リリース版で,再びサポートされる予定です.
- ドキュメントは,更新,改良されていますが,まだ多くの作業が残っています:
- cvaux の新機能のいくつかは,まだドキュメント化されていません.
- 参考文献の部分が破損しています.
- 既知のバグや誤字がたくさん残っています.
- 多くのハイパーリンクが動作しません.
- 現在ののテストは,(OpenCV 1.x API に対する後方互換性を介して)新機能の一部を部分的にしかカバーしていませんが,もちろんこのカバー率は不十分です.
- 新形式の Python インタフェースが,まだ取り込まれていません.
- これらの問題の多くが 2.0 リリース版で対処される予定です.具体的な問題を発見した場合は,バグトラッカーに記録してください: http://sourceforge.net/tracker/?group_id=22870 バグレポートに,C++/Python の短いサンプルと,問題を再現するのに必要なデータファイルを添付してもらえると,さらに助かります.
メモ
- Visual C++ 2008 Express EditionではOpenMPを有効にするにはWindows SDKを入れる必要がある
インストール
- http://opencv.jp/opencv2-x-tips/install-on-windowswindows32bit-64bit-visual-studio
- http://opencv.jp/opencv2-x-tips/install-linuxubuntu