cv::Range Class Reference 核心功能 » 基本结构

Template class specifying a continuous subsequence (slice) of a sequence. 更多...

#include <opencv2/core/types.hpp>

Inheritance diagram for cv::Range:

Public Member Functions

  Range ()
  Range (int _start, int _end)
bool  empty () const
int  size () const

Static Public Member Functions

static Range   all ()

Public Attributes

int  end
int  start


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)

Constructor & Destructor Documentation

◆  Range() [1/2]

cv::Range::Range ( )

◆  Range() [2/2]

cv::Range::Range ( int  _start ,
int  _end  


◆  all()

static Range cv::Range::all ( )

◆  empty()

bool cv::Range::empty ( ) const

◆  size()

int cv::Range::size ( ) const

Member Data Documentation

◆  end

int cv::Range::end

◆  start

int cv::Range::start

The documentation for this class was generated from the following file: