すべてのソルバーの基本インターフェース。 続き...
#include <opencv2/core/optim.hpp>
◆ getFunction()
| virtual Ptr< Function > cv::MinProblemSolver::getFunction |
( |
| ) |
const |
|
pure virtual |
最適化対象の関数のゲッター。
最適化対象の関数は Function インターフェースで表現される。このインターフェースでは、関数を評価するために導関数を実装する calc(double*) と getDim() のメソッドが必要となる。
- 戻り値
- Function インターフェースを実装するオブジェクトへのスマートポインタ。最適化対象の関数を表す。まだ関数が与えられていなければ空になることがある。
◆ getTermCriteria()
| virtual TermCriteria cv::MinProblemSolver::getTermCriteria |
( |
| ) |
const |
|
pure virtual |
このアルゴリズムに対して以前に設定された終了条件のゲッター。
- 戻り値
- 現在使用されている終了条件のディープコピー。
◆ minimize()
実際にアルゴリズムを実行し、最小化を行う。
唯一の入力引数は開始シンプレックスの重心(おおまかに言えば、どこから開始するかを指示する)を決定する。それ以外(終了条件、初期ステップ、最小化する関数)は、このメソッドを呼び出す前にセッターで設定しておく必要がある。設定しない場合は(必ずしも妥当とは限らない)デフォルト値が使用される。
- 引数
-
| x | 初期点。初期シンプレックスの重心となる。アルゴリズムが終了すると、アルゴリズムが停止した点、すなわち最小値の可能性がある点に設定される。 |
- 戻り値
- 見つかった点における関数の値。
◆ setFunction()
| virtual void cv::MinProblemSolver::setFunction |
( |
const Ptr< Function > & | f | ) |
|
|
pure virtual |
最適化対象の関数のセッター。
デフォルト値は使用できないため、minimize() を呼び出す前に少なくとも一度は呼び出す必要がある*。
- 引数
-
◆ setTermCriteria()
| virtual void cv::MinProblemSolver::setTermCriteria |
( |
const TermCriteria & | termcrit | ) |
|
|
pure virtual |
ソルバーの終了条件を設定する。
このメソッドはデフォルト値が妥当であるため、minimize() を最初に呼び出す前に呼び出す必要はない。
Algorithm は、実行した関数評価の回数が termcrit.maxCount を超えたとき、シンプレックスの頂点における関数値が termcrit.epsilon の範囲内に収まったとき、またはシンプレックスが小さくなり termcrit.epsilon を辺とするボックスに収まるようになったとき、のいずれか早いほうで停止する。
- 引数
-
このクラス詳解は次のファイルから抽出されました: