Industrial Calibration  1.0.0
Loading...
Searching...
No Matches
industrial_calibration::ArucoGridTarget Struct Reference

Structure containing relevant data for a ArUco grid target. More...

Detailed Description

Detects the corners of each ArUco marker in a grid as the features to use for calibration

  • Pros:
    • Straightforward to detect with minimal tuning
    • Target can be partially occluded
  • Cons:
    • Less accurate than the ChArUco grid target finder since it lacks the chessboard features
    • Theoretically less accurate than the modified circle grid target, but in practice the difference is negligible

#include <aruco_grid_target_finder.h>

Inheritance diagram for industrial_calibration::ArucoGridTarget:

Public Member Functions

 ArucoGridTarget (const int rows, const int cols, const float aruco_marker_dim, const float marker_gap, const int dictionary_id=cv::aruco::DICT_6X6_250)
 Constructor.
 
 ArucoGridTarget (const cv::Ptr< cv::aruco::GridBoard > &board_in)
 Constructor.
 
bool operator== (const ArucoGridTarget &other) const
 
virtual Correspondence2D3D::Set createCorrespondences (const TargetFeatures2D &target_features) const override
 Creates a set of correspondences between the corners of each ArUco tag observed in an image (ordered clockwise from the "origin" corner) and their counterparts in the target (matched by ID)
 
- Public Member Functions inherited from industrial_calibration::Target< SENSOR_DIM, WORLD_DIM >
virtual Correspondence< SENSOR_DIM, WORLD_DIM >::Set createCorrespondences (const TargetFeatures< SENSOR_DIM > &target_features) const =0
 Creates a set of correspondences between an input set of target features (e.g., identified in a 2D image) and the same features from the known geometry of the target.
 

Public Attributes

cv::Ptr< cv::aruco::GridBoard > board
 Representation of the ArUco grid target.
 
std::map< int, std::vector< Eigen::Vector3d > > points
 Map of 3D ArUco tag corners with corresponding IDs.
 

Constructor & Destructor Documentation

◆ ArucoGridTarget() [1/2]

industrial_calibration::ArucoGridTarget::ArucoGridTarget ( const int  rows,
const int  cols,
const float  aruco_marker_dim,
const float  marker_gap,
const int  dictionary_id = cv::aruco::DICT_6X6_250 
)
Parameters
rows- number of rows in the target
cols- number of columns in the target
aruco_marker_dim- The length of the side of one ArUco marker (m)
marker_gap- The size of the gap between adjacent arUco markers (m)
dictionary_id- The dictionary of ArUco markers to use

◆ ArucoGridTarget() [2/2]

industrial_calibration::ArucoGridTarget::ArucoGridTarget ( const cv::Ptr< cv::aruco::GridBoard > &  board_in)
Parameters
board_in- OpenCV ArUco GridBoard object defining rows, columns, marker size, and marker spacing

Member Function Documentation

◆ createCorrespondences()

Correspondence2D3D::Set industrial_calibration::ArucoGridTarget::createCorrespondences ( const TargetFeatures2D target_features) const
overridevirtual
Parameters
target_features- Map of ArUco tag corners observed in an image
Returns
Set of corresponding features in the image to features in the ArUco grid target