Markers Combo
Simple demo of QRcode + ARtoolkit + ArUco markers detection and decoding.
By Laurent Ittiitti@usc.eduhttp://jevois.orgGPL v3
 Language:   C++            Supports mappings with USB output:   Yes            Supports mappings with NO USB output:   Yes
 Video Mapping:   NONE 0 0 0 YUYV 320 240 30.0 JeVois MarkersCombo
 Video Mapping:   YUYV 320 306 50.0 YUYV 320 240 50.0 JeVois MarkersCombo
 Video Mapping:   YUYV 640 546 20.0 YUYV 640 480 20.0 JeVois MarkersCombo

Module Documentation

Detect and decode 3 kinds of coded patterns which can be useful to a robot:

  • QR-codes as in DemoQRcode
  • AR-toolkit markers as in DemoARtoolkit
  • ArUco markers as in DemoArUco

Serial Messages

This module can send standardized serial messages as described in Standardized serial messages formatting.

When dopose is turned on, 3D messages will be sent, otherwise 2D messages.

One message is issued for every detected marker, on every video frame.

2D messages when dopose is off:

  • Serial message type: 2D
  • id: decoded ArUco marker ID
  • x, y, or vertices: standardized 2D coordinates of marker center or corners
  • w, h: standardized marker size
  • extra: none (empty string)

3D messages when dopose is on:

  • Serial message type: 3D
  • id: decoded ArUco marker ID
  • x, y, z, or vertices: 3D coordinates in millimeters of marker center or corners
  • w, h, d: marker size in millimeters, a depth of 1mm is always used
  • extra: none (empty string)

If you will use the quaternion data (Detail message style; see Standardized serial messages formatting), you should probably set the serprec parameter to something non-zero to get enough accuracy in the quaternion values.

ParameterTypeDescriptionDefaultValid Values
(ARtoolkit) camparamsstd::stringFile stem of camera parameters, or empty. Camera resolution will be appended, as well as a .cfg extension. For example, specifying 'camera_para' here and running the camera sensor at 320x240 will attempt to load camera_para320x240.dat from within the module's directory.camera_para-
(ARtoolkit) contposeboolUse continuous pose estimation in good quality videotrue-
(ARtoolkit) msg3dboolSend 3D serial messages if true, otherwise 2Dfalse-
(ARtoolkit) threshmodeDictThreshModeDictionary threshold mode to use, affects robustness to varying lighting conditionsDictThreshMode::AR_LABELING_THRESH_MODE_AUTO_OTSU-
(ARtoolkit) dictionaryDictSymbol dictionary to useDict::AR_MATRIX_CODE_3x3_PARITY65-
(ARtoolkit) confthreshdoubleMinimum confidence threshold required for valid detections0.7jevois::Range<double>(0.0, 1.0)
(ArUco) camparamsstd::stringFile stem of camera parameters, or empty. Camera resolution will be appended, as well as a .yaml extension. For example, specifying 'calibration' here and running the camera sensor at 320x240 will attempt to load calibration320x240.yaml from within the module's directory.calibration-
(ArUco) detparamsstd::stringFilename of detector parameters, or empty-
(ArUco) dictionaryDictSymbol dictionary to useDict::D4X4_50-
(ArUco) doposeboolCompute (and show) pose vectors, requires a valid camera calibrationfalse-
(ArUco) markerlenfloatMarker side length (millimeters), used only for pose estimation100.0F-
(ArUco) showcubeboolShow a 3D cube on top of each detected marker, when dopose is also truetrue-
(QRcode) symbolstd::stringType(s) of QR code / barcode symbols searched for, multiple entries are possible and should be separated by / characters. Selecting many symbol types or ALL will slow down processing. Supported symbols are: QRCODE, EAN2, EAN5, EAN8, EAN13, UPCE, UPCA, ISBN10, ISBN13, COMPOSITE, I25, DATABAR, DATABAREXP, CODABAR, CODE39, PDF417, CODE93, and CODE128ALL-
(QRcode) xdensityintScanner vertical scan density (pixel stride), or 0 to disable1-
(QRcode) ydensityintScanner horizontal scan density (pixel stride), or 0 to disable1-
params.cfg file
# Default parameters that are set upon loading the module

# Only look for QR codes by default, faster than looking for any kind of barcode and qr-code:
qrcode:symbol = QRCODE
Detailed docs:MarkersCombo
Copyright:Copyright (C) 2016 by Laurent Itti, iLab and the University of Southern California
License:GPL v3
Distribution:Unrestricted
Restrictions:None
Support URL:http://jevois.org/doc
Other URL:http://iLab.usc.edu
Address:University of Southern California, HNB-07A, 3641 Watt Way, Los Angeles, CA 90089-2520, USA