シーケンスの連続した部分列(スライス)を指定するテンプレートクラス。
このクラスは、行列( Mat )の行または列の範囲を指定するためや、その他多くの用途で使用される。Range(a,b)は、基本的にMatlabのa:bやPythonのa..bと同じである。Pythonと同様に、startは範囲の左端を含み、endは範囲の右端を含まない。このような半開区間は通常 \([start,end)\) と表記される。
静的メソッド Range::all() は、Matlabの「 : 」やPythonの「 ... 」のように「シーケンス全体」または「範囲全体」を意味する特別な変数を返す。OpenCVで Range を取るすべてのメソッドおよび関数は、この特別な Range::all() 値をサポートする。ただし当然ながら、独自のカスタム処理を行う場合には、これを明示的にチェックして処理しなければならないだろう:
void my_function(...,
const Range& r, ....)
{
}
else {
}
}
Template class specifying a continuous subsequence (slice) of a sequence.
Definition types.hpp:630