Class cv::Rect_#
Template class for 2D rectangles. View details
#include <opencv2/core/types.hpp>Collaboration diagram for cv::Rect_:
Detailed Description#
Template class for 2D rectangles.
described by the following parameters:
Coordinates of the top-left corner. This is a default interpretation of Rect_::x and Rect_::y in OpenCV. Though, in your algorithms you may count x and y from the bottom-left corner.
Rectangle width and height.
OpenCV typically assumes that the top and left boundary of the rectangle are inclusive, while the right and bottom boundaries are not. For example, the method Rect_::contains returns true if
Virtually every loop over an image ROI in OpenCV (where ROI is specified by Rect_<int> ) is implemented as:
for(int y = roi.y; y < roi.y + roi.height; y++)
for(int x = roi.x; x < roi.x + roi.width; x++)
{
// ...
}
\(\texttt{rect} = \texttt{rect} \pm \texttt{point}\) (shifting a rectangle by a certain offset)
\(\texttt{rect} = \texttt{rect} \pm \texttt{size}\) (expanding or shrinking a rectangle by a certain amount)
rect += point, rect -= point, rect += size, rect -= size (augmenting operations)
rect = rect1 & rect2 (rectangle intersection)
rect = rect1 | rect2 (minimum area rectangle containing rect1 and rect2 )
rect &= rect1, rect |= rect1 (and the corresponding augmenting operations)
rect == rect1, rect != rect1 (rectangle comparison)
This is an example how the partial ordering on rectangles can be established (rect1 \(\subseteq\) rect2):
Member Typedef Documentation#
value_type#
typedef Tp cv::Rect::value_type
Constructor & Destructor Documentation#
Rect_()#
default constructor
Rect_()#
Rect_()#
cv::Rect_::Rect_(
const Point_< Tp > & org,
const Size< _Tp > & sz )
Rect_()#
cv::Rect_::Rect_(
const Point_< Tp > & pt1,
const Point< _Tp > & pt2 )
Rect_()#
Rect_()#
Member Function Documentation#
area()#
Tp cv::Rect::area()
area (width*height) of the rectangle
br()#
the bottom-right corner
contains()#
template<typename _Tp2>
bool cv::Rect_::contains(const Point_< _Tp2 > & pt)
checks whether the rectangle contains the point
Warning
After OpenCV 4.11.0, when calling Rect.contains() with cv::Point2f / cv::Point2d point, point should not convert/round to int.
Rect_<int> r(0,0,500,500); Point_<float> pt(250.0f, 499.9f);
r.contains(pt) returns false.(OpenCV 4.10.0 or before)
r.contains(pt) returns true. (OpenCV 4.11.0 or later)
empty()#
bool cv::Rect_::empty()
true if empty
operator Rect_< _Tp2 >()#
template<typename _Tp2>
cv::Rect_::operator Rect_< _Tp2 >()
conversion to another data type
operator=()#
operator=()#
size()#
size (width, height) of the rectangle
tl()#
the top-left corner
Member Data Documentation#
height#
Tp cv::Rect::height
height of the rectangle
width#
Tp cv::Rect::width
width of the rectangle
x#
Tp cv::Rect::x
x coordinate of the top-left corner
y#
Tp cv::Rect::y
y coordinate of the top-left corner
Source file#
The documentation for this class was generated from the following file:
opencv2/core/types.hpp