|
static cv::Mat | createBoardImage (cv::Size gridSize, int MarkerSize, int MarkerDistance, BoardConfiguration &TInfo, vector< int > *excludedIds=NULL) throw (cv::Exception) |
|
static cv::Mat | createBoardImage (cv::Size gridSize, int MarkerSize, int MarkerDistance, BoardConfiguration &TInfo, vector< int > *excludedIds=NULL) throw (cv::Exception) |
|
static cv::Mat | createBoardImage_ChessBoard (cv::Size gridSize, int MarkerSize, BoardConfiguration &TInfo, bool setDataCentered=true, vector< int > *excludedIds=NULL) throw (cv::Exception) |
|
static cv::Mat | createBoardImage_ChessBoard (cv::Size gridSize, int MarkerSize, BoardConfiguration &TInfo, bool setDataCentered=true, vector< int > *excludedIds=NULL) throw (cv::Exception) |
|
static cv::Mat | createBoardImage_Frame (cv::Size gridSize, int MarkerSize, int MarkerDistance, BoardConfiguration &TInfo, bool setDataCentered=true, vector< int > *excludedIds=NULL) throw (cv::Exception) |
|
static cv::Mat | createBoardImage_Frame (cv::Size gridSize, int MarkerSize, int MarkerDistance, BoardConfiguration &TInfo, bool setDataCentered=true, vector< int > *excludedIds=NULL) throw (cv::Exception) |
|
static cv::Mat | createMarkerImage (int id, int size) throw (cv::Exception) |
| Creates an ar marker with the id specified using a modified version of the hamming code. There are two type of markers: a) These of 10 bits b) these of 3 bits. The latter are employed for applications that need few marker but they must be small. The two type of markers are distinguished by their ids. While the first type of markers have ids in the interval [0-1023], the second type ids in the interval [2000-2006]. More...
|
|
static cv::Mat | createMarkerImage (int id, int size) throw (cv::Exception) |
| Creates an ar marker with the id specified using a modified version of the hamming code. There are two type of markers: a) These of 10 bits b) these of 3 bits. The latter are employed for applications that need few marker but they must be small. The two type of markers are distinguished by their ids. While the first type of markers have ids in the interval [0-1023], the second type ids in the interval [2000-2006]. More...
|
|
static int | detect (const cv::Mat &in, int &nRotations) |
|
static int | detect (const cv::Mat &in, int &nRotations) |
|
static cv::Mat | getMarkerMat (int id) throw (cv::Exception) |
|
static cv::Mat | getMarkerMat (int id) throw (cv::Exception) |
|
Mat aruco::FiducidalMarkers::createMarkerImage |
( |
int |
id, |
|
|
int |
size |
|
) |
| |
throw | ( | cv::Exception |
| ) | | |
|
static |
Creates an ar marker with the id specified using a modified version of the hamming code. There are two type of markers: a) These of 10 bits b) these of 3 bits. The latter are employed for applications that need few marker but they must be small. The two type of markers are distinguished by their ids. While the first type of markers have ids in the interval [0-1023], the second type ids in the interval [2000-2006].
10 bits markers
There are a total of 5 rows of 5 cols. Each row encodes a total of 2 bits, so there are 2^10 bits:(0-1023).
The least significative bytes are first (from left-up to to right-bottom)
Example: the id = 110 (decimal) is be represented in binary as : 00 01 10 11 10.
Then, it will generate the following marker:
- 1st row encodes 00: 1 0 0 0 0 : hex 0x10
- 2nd row encodes 01: 1 0 1 1 1 : hex 0x17
- 3nd row encodes 10: 0 1 0 0 1 : hex 0x09
- 4th row encodes 11: 0 1 1 1 0 : hex 0x0e
- 5th row encodes 10: 0 1 0 0 1 : hex 0x09
Note that : The first bit, is the inverse of the hamming parity. This avoids the 0 0 0 0 0 to be valid These marker are detected by the function getFiduciadlMarker_Aruco_Type1
Definition at line 44 of file aruco/src/aruco/arucofidmarkers.cpp.
static cv::Mat aruco::FiducidalMarkers::createMarkerImage |
( |
int |
id, |
|
|
int |
size |
|
) |
| |
throw | ( | cv::Exception |
| ) | | |
|
static |
Creates an ar marker with the id specified using a modified version of the hamming code. There are two type of markers: a) These of 10 bits b) these of 3 bits. The latter are employed for applications that need few marker but they must be small. The two type of markers are distinguished by their ids. While the first type of markers have ids in the interval [0-1023], the second type ids in the interval [2000-2006].
10 bits markers
There are a total of 5 rows of 5 cols. Each row encodes a total of 2 bits, so there are 2^10 bits:(0-1023).
The least significative bytes are first (from left-up to to right-bottom)
Example: the id = 110 (decimal) is be represented in binary as : 00 01 10 11 10.
Then, it will generate the following marker:
- 1st row encodes 00: 1 0 0 0 0 : hex 0x10
- 2nd row encodes 01: 1 0 1 1 1 : hex 0x17
- 3nd row encodes 10: 0 1 0 0 1 : hex 0x09
- 4th row encodes 11: 0 1 1 1 0 : hex 0x0e
- 5th row encodes 10: 0 1 0 0 1 : hex 0x09
Note that : The first bit, is the inverse of the hamming parity. This avoids the 0 0 0 0 0 to be valid These marker are detected by the function getFiduciadlMarker_Aruco_Type1