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

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

Detailed Description

Detects the intersections of a chessboard as the features to use for calibration, using the embedded ArUco tags to uniquely identify each intersection

  • Pros:
    • Straightforward to detect with minimal tuning
    • Target can be partially occluded
  • Cons:
    • Theoretically less accurate than the modified circle grid target, but in practice the difference is negligible

#include <charuco_grid_target_finder.h>

Inheritance diagram for industrial_calibration::CharucoGridTarget:

Public Member Functions

 CharucoGridTarget (const int rows, const int cols, const float chessboard_dim, const float aruco_marker_dim, const int dictionary_id=cv::aruco::DICT_6X6_250)
 Constructor.
 
 CharucoGridTarget (const cv::Ptr< cv::aruco::CharucoBoard > &board_in)
 
bool operator== (const CharucoGridTarget &other) const
 
virtual Correspondence2D3D::Set createCorrespondences (const TargetFeatures2D &target_features) const override
 Creates a set of correspondences between chessboard intersections observed in an image 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::CharucoBoard > board
 Representation of the ChArUco board target.
 
std::map< unsigned, Eigen::Vector3d > points
 Map of 3D chessboard corners with corresponding IDs.
 

Constructor & Destructor Documentation

◆ CharucoGridTarget()

industrial_calibration::CharucoGridTarget::CharucoGridTarget ( const int  rows,
const int  cols,
const float  chessboard_dim,
const float  aruco_marker_dim,
const int  dictionary_id = cv::aruco::DICT_6X6_250 
)
Parameters
rows- number of rows in the target
cols- number of columns in the target
chessboard_dim- The length of the side of one chessboard square (m)
aruco_marker_dim- The length of the side of one ArUco marker (m)
dictionary_id- The enumeration ID of the dictionary of ArUco markers to use. ArUco dictionary enumerations

Member Function Documentation

◆ createCorrespondences()

std::vector< Correspondence2D3D > industrial_calibration::CharucoGridTarget::createCorrespondences ( const TargetFeatures2D target_features) const
overridevirtual
Parameters
target_features- Map of observed chessboard intersections and their IDs
Returns
Set of corresponding features in the image to features in the ChArUco target