OpenCV2.2からOpenCV2.3rcの変更点(ChangeLog)
オリジナルは http://opencv.willowgarage.com/wiki/OpenCV%20Change%20Logs#A2.3rc
(2011 年 6 月)
全体的な修正と改良
- 現在は,BuildbotベースのCIシステムが,常にOpenCVのスナップショットをテストしています.このステータスは, http://buildbot.itseez.com で見ることができます.また,回帰テストおよび正当性の検証に Google Test (http://code.google.com/p/googletest/) エンジンを利用するようにしました.各モジュール毎に,テストが入ったサブディレクトリがあります.
-
新機能,特徴
- 多くの関数やメソッドが, “cv::Mat” 参照の代わりに InputArray/OutputArray を引数に取るようになりました.既存のコードとの互換性を保ったうえで,STL vector や他の「無関係な」データ構造に対して,より自然なサポートが可能になります.詳細は http://opencv.itseez.com/modules/core/doc/intro.html#inputarray-and-outputarray を参照してください.
- core:
- OpenCV では,LAPACK を利用しなくなりました.これにより,ライブラリのフットプリントが減少し,コンパイル時間が短縮されました.現在は,Jacobi SVD の独自実装を利用しています.小規模な行列 (2×2 から 10×10) に対する SVD の性能は,大幅に改良されています.より大きな行列でも,かなり良く動作します.また,悪条件下での SVD の精度も改善されています.
- 算術演算が,型が混在したオペランドや,任意のチャンネル数をサポートするようになりました.
- features2d:
- 完全にパテントフリーな BRIEF および ORB 局所特徴量が追加されました.
- BRIEF と ORB 局所特徴量に対する,非常に高速な LSH matcher が,2.3.1 で追加される予定です.
- calib3d:
- highgui:
- [Windows] highgui に videoInput を取り込みました.highgui のコンパイルに問題が出た場合は, CMake で “WITH_VIDEOINPUT=OFF” を設定してください.
- stitching:
- opencv_stitching は,一箇所から撮影した複数の写真からパノラマ画像を生成する,新しいアプリケーションのβ版です.(訳注:撮影例)
- python:
- 二つの拡張モジュール:cv および cv2.cv2 は,OpenCV 2.x の機能のラッパーをインクルードします. opencv/samples/python2 に,cv2 を使ったいくつかのデモがあります.
- contrib:
- 新たに,実験的な,変分法を用いたステレオ対応点探索アルゴリズムが追加されました.
- gpu:
- このモジュールでは, CUDA 4.0 以降が必要になりました.多くの改良とバグフィックスが行われています.
-
Android への移植
- NVidia の協力により,OpenCV の Android 移植版(実際には OpenCV の別ブランチではなく,同じコードツリーにビルドスクリプトを追加したものです)は,大幅に改良されており,いくつかのデモが開発されました.カメラサポートも追加されています.詳細は, http://opencv.willowgarage.com/wiki/Android を参照してください.
-
ドキュメント
- 現在,OpenCV のドキュメントは ReStructured Text で書かれ,Sphinx (http://sphinx.pocoo.org) を用いてビルドされます
- リファレンスマニュアル一つだけでしたが,現在は,4つのリファレンスマニュアル (OpenCV 2.x C++ API, OpenCV 2.x Python API, OpenCV 1.x C API, OpenCV 1.x Python API) と,新たなユーザガイドおよび初心者のためのチュートリアル集が用意されています.
- メインリファレンスマニュアル (OpenCV 2.x C++ API) のスタイルと文法が完全にチェック,修正されました.
- オンラインマニュアル最新バージョンを, http://opencv.itseez.com で読むことができます.
-
サンプル
- 新しい Python バインディング(cv2 モジュール)を利用する複数のサンプルが追加されています: https://code.ros.org/svn/opencv/branches/2.3/opencv/samples/python2
-
最適化
- いくつかの ML アルゴリズムが TBB によりスレッド化されています.
-
バグフィックス
- 250 以上の問題点が解決されています.この問題点の多く(close あるいは,まだ open)は,https://code.ros.org/trac/opencv/report/6 で一覧することができます.
-
既知の問題点/制限
- ドキュメント(特に,新しい Python バインディング)は,未だ更新中です. opencv.itseez.com をチェックしてください.
- Android 移植版には,OpenCV の Java インタフェースが用意されていません. これは,数週間以内に 2.3 branch に追加される予定です.
- その他の open なバグのリストは, http://code.ros.org/trac/opencv/report/1 にあります