Class QrPose3DUtils


public class QrPose3DUtils
extends Object
Utilities when estimating the 3D pose of a QR Code. Each landmark (e.g. corner on a locator pattern) is assigned an ID. Functions are provided for accessing coordinates (of each landmark by ID. 3D coordinates in marker frame have values from -1 to 1 to make it more numerically favorable for linear estimators. This scale offset is easily fixed with a multiplication after the pose has been found.
  • Field Details

  • Constructor Details

    • QrPose3DUtils

      public QrPose3DUtils()
  • Method Details

    • getLandmarkByIndex

      public List<PointIndex2D_F64> getLandmarkByIndex​(QrCode qr)
      Converts the corner observations into PointIndex2D_F64 where observations are in pixels
    • getLandmark2D3D

      public List<Point2D3D> getLandmark2D3D​(QrCode qr)
      Returns a list of Point2D3D. The 2D observation is the corner in normalized image coordinates. The 3D location is the location of the corner in the marker's reference frame
      qr - The qr code
      List of corner points in marker frame and normalized image coordinates
    • getLandmark3D

      public List<Point3D_F64> getLandmark3D​(int version)
      Location of each corner in the QR Code's reference frame in 3D
      version - QR Code's version
      List. Recycled on each call
    • setLensDistortion

      public void setLensDistortion​(@Nullable @Nullable Point2Transform2_F64 pixelToNorm, @Nullable @Nullable Point2Transform2_F64 undistToDist)
      Specifies transform from pixel to normalize image coordinates
    • getPixelToNorm

      public Point2Transform2_F64 getPixelToNorm()