Class CreateSyntheticOverheadView<T extends boofcv.struct.image.ImageBase<T>>

  • Direct Known Subclasses:
    CreateSyntheticOverheadViewPL, CreateSyntheticOverheadViewS

    public abstract class CreateSyntheticOverheadView<T extends boofcv.struct.image.ImageBase<T>>
    extends java.lang.Object

    Converts a camera image into an overhead orthogonal view with known metric properties given a known transform from the plane to camera. This will only produce a valid orthogonal view when the surface being viewed is entirely planar, non-planar objects are heavily distorted. See OverheadView for more details.

    Usage Notes:

    • The plane is defined using a Se3_F64 which describes the transform from the plane to the camera.
    • In the plane's reference frame the plane's normal vector is (0,1,0) or (0,-1,0) and contains the point (0,0,0).

    Implementation Notes:
    The transform is precomputed and stored in an array which is w*h*2*8 bytes, where (w,h) is the size of the overhead image.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected georegression.struct.point.Point2D_F32[] mapPixels  
      protected int overheadHeight  
      protected int overheadWidth  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void configure​(boofcv.struct.calib.CameraPinholeBrown intrinsic, georegression.struct.se.Se3_F64 planeToCamera, double centerX, double centerY, double cellSize, int overheadWidth, int overheadHeight)
      Specifies camera configurations.
      georegression.struct.point.Point2D_F32 getOverheadToPixel​(int x, int y)
      Returns corresponding pixel to pixel coordinate in overhead image
      abstract void process​(T input, T output)
      Computes overhead view of input image.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • overheadWidth

        protected int overheadWidth
      • overheadHeight

        protected int overheadHeight
      • mapPixels

        protected georegression.struct.point.Point2D_F32[] mapPixels
    • Constructor Detail

      • CreateSyntheticOverheadView

        public CreateSyntheticOverheadView()
    • Method Detail

      • configure

        public void configure​(boofcv.struct.calib.CameraPinholeBrown intrinsic,
                              georegression.struct.se.Se3_F64 planeToCamera,
                              double centerX,
                              double centerY,
                              double cellSize,
                              int overheadWidth,
                              int overheadHeight)
        Specifies camera configurations.
        Parameters:
        intrinsic - Intrinsic camera parameters
        planeToCamera - Transform from the plane to the camera. This is the extrinsic parameters.
        centerX - X-coordinate of camera center in the overhead image in world units.
        centerY - Y-coordinate of camera center in the overhead image in world units.
        cellSize - Size of each cell in the overhead image in world units.
        overheadWidth - Number of columns in overhead image
        overheadHeight - Number of rows in overhead image
      • getOverheadToPixel

        public georegression.struct.point.Point2D_F32 getOverheadToPixel​(int x,
                                                                         int y)
        Returns corresponding pixel to pixel coordinate in overhead image
        Parameters:
        x - overhead pixel x-coordinate
        y - overhead pixel y-coordinate
        Returns:
        Pixel in camera image
      • process

        public abstract void process​(T input,
                                     T output)
        Computes overhead view of input image.
        Parameters:
        input - (Input) Camera image.
        output - (Output) Image containing overhead view.