class cv::Range
Overview
Template class specifying a continuous subsequence (slice) of a sequence. More…
#include <types.hpp> class Range { public: // fields int end; int start; // construction Range(); Range( int _start, int _end ); // methods bool empty() const; int size() const; static Range all(); };
Detailed Documentation
Template class specifying a continuous subsequence (slice) of a sequence.
The class is used to specify a row or a column span in a matrix (Mat) and for many other purposes. Range(a,b) is basically the same as a:b in Matlab or a..b in Python. As in Python, start is an inclusive left boundary of the range and end is an exclusive right boundary of the range. Such a half-opened interval is usually denoted as \([start,end)\).
The static method Range::all() returns a special variable that means “the whole sequence” or “the whole range”, just like ” : ” in Matlab or ” … ” in Python. All the methods and functions in OpenCV that take Range support this special Range::all() value. But, of course, in case of your own custom processing, you will probably have to check and handle it explicitly:
void my_function(..., const Range& r, ....) { if(r == Range::all()) { // process all the data } else { // process [r.start, r.end) } }