Class Rectangle

  • All Implemented Interfaces:
    BoundingBox, java.io.Serializable
    Direct Known Subclasses:
    Landmark, Mask

    public class Rectangle
    extends java.lang.Object
    implements BoundingBox
    A Rectangle specifies an area in a coordinate space that is enclosed by the Rectangle object's upper-left point Point in the coordinate space, its width, and its height.

    The rectangle coordinates are usually from 0-1 and are ratios of the image size. For example, if you have an image width of 400 pixels and the rectangle starts at 100 pixels, you would use .25.

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Rectangle​(double x, double y, double width, double height)
      Constructs a new Rectangle whose upper-left corner is specified as (x,y) and whose width and height are specified by the arguments of the same name.
      Rectangle​(Point point, double width, double height)
      Constructs a new Rectangle whose upper-left corner is specified as coordinate point and whose width and height are specified by the arguments of the same name.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Rectangle getBounds()
      Returns the bounding Rectangle of this BoundingBox.
      double getHeight()
      Returns the height of the Rectangle.
      double getIoU​(BoundingBox box)
      Returns the Intersection over Union (IoU) value between bounding boxes.
      java.lang.Iterable<Point> getPath()
      Returns an iterator object that iterates along the BoundingBox boundary and provides access to the geometry of the BoundingBox outline.
      Point getPoint()
      Returns the top left point of the bounding box.
      double getWidth()
      Returns the width of the Rectangle.
      double getX()
      Returns the left x-coordinate of the Rectangle.
      double getY()
      Returns the top y-coordinate of the Rectangle.
      java.lang.String toString()
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Rectangle

        public Rectangle​(double x,
                         double y,
                         double width,
                         double height)
        Constructs a new Rectangle whose upper-left corner is specified as (x,y) and whose width and height are specified by the arguments of the same name.
        Parameters:
        x - the specified X coordinate (0-1)
        y - the specified Y coordinate (0-1)
        width - the width of the Rectangle (0-1)
        height - the height of the Rectangle (0-1)
      • Rectangle

        public Rectangle​(Point point,
                         double width,
                         double height)
        Constructs a new Rectangle whose upper-left corner is specified as coordinate point and whose width and height are specified by the arguments of the same name.
        Parameters:
        point - the upper-left corner of the coordinate (0-1)
        width - the width of the Rectangle (0-1)
        height - the height of the Rectangle (0-1)
    • Method Detail

      • getBounds

        public Rectangle getBounds()
        Returns the bounding Rectangle of this BoundingBox.
        Specified by:
        getBounds in interface BoundingBox
        Returns:
        a new Rectangle for this BoundingBox
      • getPath

        public java.lang.Iterable<Point> getPath()
        Returns an iterator object that iterates along the BoundingBox boundary and provides access to the geometry of the BoundingBox outline.
        Specified by:
        getPath in interface BoundingBox
        Returns:
        a Iterable object, which independently traverses the geometry of the BoundingBox
      • getPoint

        public Point getPoint()
        Returns the top left point of the bounding box.
        Specified by:
        getPoint in interface BoundingBox
        Returns:
        the Point of the top left corner
      • getIoU

        public double getIoU​(BoundingBox box)
        Returns the Intersection over Union (IoU) value between bounding boxes.

        Also known as Jaccard index

        Specified by:
        getIoU in interface BoundingBox
        Parameters:
        box - the bounding box to calculate
        Returns:
        the IoU value
      • getX

        public double getX()
        Returns the left x-coordinate of the Rectangle.
        Returns:
        the left x-coordinate of the Rectangle (0-1)
      • getY

        public double getY()
        Returns the top y-coordinate of the Rectangle.
        Returns:
        the top y-coordinate of the Rectangle (0-1)
      • getWidth

        public double getWidth()
        Returns the width of the Rectangle.
        Returns:
        the width of the Rectangle (0-1)
      • getHeight

        public double getHeight()
        Returns the height of the Rectangle.
        Returns:
        the height of the Rectangle (0-1)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object