Overview | Package | Class | Tree | Index | Help

OpenCV 2.4.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.opencv.core
Class Rect

    java.lang.Object
      org.opencv.core.Rect

    public class Rect

extends java.lang.Object

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

x <= pt.x < x+width,<BR>y <= pt.y < y+height

Virtually every loop over an imageROI in OpenCV (where ROI is specified by `Rect_`) is implemented as: ``

// C++ code:

for(int y = roi.y; y < roi.y + rect.height; y++)

for(int x = roi.x; x < roi.x + rect.width; x++)

//...

In addition to the class members, the following operations on rectangles are implemented:

- rect = rect +- point (shifting a rectangle by a certain offset)
- rect = rect +- 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 `rect2` and `rect3`)
- `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 (rect1subseteq rect2): ``

// C++ code:

template inline bool

operator <= (const Rect_<_Tp>& r1, const Rect_<_Tp>& r2)

return (r1 & r2) == r1;

For your convenience, the `Rect_<>` alias is available:

typedef Rect_ Rect;

See Also:
  org.opencv.core.Rect_

Field Summary
`int` | `height`
`int` | `width`
`int` | `x`
`int` | `y`

Constructor Summary
`Rect()`
`Rect(double[] vals)`
`Rect(int x, int y, int width, int height)`
`Rect(Point p1, Point p2)`
`Rect(Point p, Size s)`

Method Summary
`double` | `area()`
`Point` | `br()`
`Rect` | `clone()`
`boolean` | `contains(Point p)`
`boolean` | `equals(java.lang.Object obj)`
`int` | `hashCode()`
`void` | `set(double[] vals)`
`Size` | `size()`
`Point` | `tl()`
`java.lang.String` | `toString()`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### height

    public int height

### width

    public int width

### x

    public int x

### y

    public int y

Constructor Detail

### Rect

    public Rect()

### Rect

    public Rect(double[] vals)

### Rect

    public Rect(int x,
                int y,
                int width,
                int height)

### Rect

    public Rect(Point p1,
                Point p2)

### Rect

    public Rect(Point p,
                Size s)

Method Detail

### area

    public double area()

### br

    public Point br()

### clone

    public Rect clone()

  Overrides:
    `clone` in class `java.lang.Object`

### contains

    public boolean contains(Point p)

### equals

    public boolean equals(java.lang.Object obj)

  Overrides:
    `equals` in class `java.lang.Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### set

    public void set(double[] vals)

### size

    public Size size()

### tl

    public Point tl()

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

Overview | Package | Class | Tree | Index | Help

Official OpenCV 2.4 Documentation
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD