Class CreateSyntheticOverheadView<T extends ImageBase<T>>

java.lang.Object
boofcv.alg.sfm.overhead.CreateSyntheticOverheadView<T>
Direct Known Subclasses:
CreateSyntheticOverheadViewPL, CreateSyntheticOverheadViewS

public abstract class CreateSyntheticOverheadView<T extends ImageBase<T>> extends 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 Details

    • overheadWidth

      protected int overheadWidth
    • overheadHeight

      protected int overheadHeight
    • mapPixels

      protected Point2D_F32[] mapPixels
  • Constructor Details

    • CreateSyntheticOverheadView

      public CreateSyntheticOverheadView()
  • Method Details

    • configure

      public void configure(CameraPinholeBrown intrinsic, 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 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.