[−][src]Module opencv::aruco
ArUco Marker Detection
This module is dedicated to square fiducial markers (also known as Augmented Reality Markers) These markers are useful for easy, fast and robust camera pose estimation.ç
The main functionalities are:
- Detection of markers in an image
- Pose estimation from a single marker or from a board/set of markers
- Detection of ChArUco board for high subpixel accuracy
- Camera calibration from both, ArUco boards and ChArUco boards.
- Detection of ChArUco diamond markers The samples directory includes easy examples of how to use the module.
The implementation is based on the ArUco Library by R. Muñoz-Salinas and S. Garrido-Jurado Aruco2014.
Markers can also be detected based on the AprilTag 2 wang2016iros fiducial detection method.
See also
S. Garrido-Jurado, R. Muñoz-Salinas, F. J. Madrid-Cuevas, and M. J. Marín-Jiménez. 2014. "Automatic generation and detection of highly reliable fiducial markers under occlusion". Pattern Recogn. 47, 6 (June 2014), 2280-2292. DOI=10.1016/j.patcog.2014.01.005
http://www.uco.es/investiga/grupos/ava/node/26
This module has been originally developed by Sergio Garrido-Jurado as a project for Google Summer of Code 2015 (GSoC 15).
Structs
Board | Board of markers |
CharucoBoard | ChArUco board Specific class for ChArUco boards. A ChArUco board is a planar board where the markers are placed inside the white squares of a chessboard. The benefits of ChArUco boards is that they provide both, ArUco markers versatility and chessboard corner precision, which is important for calibration and pose estimation. This class also allows the easy creation and drawing of ChArUco boards. |
DetectorParameters | Parameters for the detectMarker process: |
Dictionary | Dictionary/Set of markers. It contains the inner codification |
GridBoard | Planar board with grid arrangement of markers More common type of board. All markers are placed in the same plane in a grid arrangement. The board can be drawn using drawPlanarBoard() function (## See also drawPlanarBoard) |
Enums
PREDEFINED_DICTIONARY_NAME | Predefined markers dictionaries/sets Each dictionary indicates the number of bits and the number of markers contained |
Constants
Traits
BoardTrait | Board of markers |
Functions
_draw_planar_board_impl | Implementation of drawPlanarBoard that accepts a raw Board pointer. |
calibrate_camera_aruco | It's the same function as #calibrateCameraAruco but without calibration error estimation. |
calibrate_camera_aruco_with_stddev | Calibrate a camera using aruco markers |
calibrate_camera_charuco | It's the same function as #calibrateCameraCharuco but without calibration error estimation. |
calibrate_camera_charuco_with_stddev | Calibrate a camera using Charuco corners |
detect_charuco_diamond | Detect ChArUco Diamond markers |
detect_markers | Basic marker detection |
draw_axis | Deprecated Draw coordinate system axis from pose estimation |
draw_charuco_diamond | Draw a ChArUco Diamond marker |
draw_detected_corners_charuco | Draws a set of Charuco corners |
draw_detected_diamonds | Draw a set of detected ChArUco Diamond markers |
draw_detected_markers | Draw detected markers in image |
draw_marker | Draw a canonical marker image |
draw_planar_board | Draw a planar board |
estimate_pose_board | Pose estimation for a board of markers |
estimate_pose_charuco_board | Pose estimation for a ChArUco board given some of their corners |
estimate_pose_single_markers | Pose estimation for single markers |
generate_custom_dictionary | @see generateCustomDictionary |
generate_custom_dictionary_with_base | Generates a new customizable marker dictionary |
get_board_object_and_image_points | Given a board configuration and a set of detected markers, returns the corresponding image points and object points to call solvePnP |
get_predefined_dictionary | Returns one of the predefined dictionaries defined in PREDEFINED_DICTIONARY_NAME |
get_predefined_dictionary_i32 | Returns one of the predefined dictionaries referenced by DICT_*. |
interpolate_corners_charuco | Interpolate position of ChArUco board corners |
refine_detected_markers | Refind not detected markers based on the already detected and the board layout |