forked from paroj/aruco
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
139 lines (129 loc) · 8.19 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Version 2.0.20 (Luis Diaz Collaboration)
- clang
- cmake improved
Version 2.0.19
- corrected bug in utils/aruco_print_marker.cpp
Version 2.0.18
- added support for custom dictionaries
- added ChiliTags dictionary
- utils/aruco_print_marker added option to print a marker with enclosed squareg to allow subpixel refinement
Version 2.0.17
- Bug in hamming distances corrected
- Bug in dictionary.cpp with the creation of
Version 2.0.16
- corrected bug in MSVC compilation due to linking problems
Version 2.0.15
- corrected bug in MarkerDetector::detectRectangles. The check isContourConvex was removed at some point and has now been set again
Version 2.0.14
- corrected bug in dictionary.cpp with ARUCO_MIP_25h7
Version 2.0.13
- corrected bug in MSVC
Version 2.0.12
- bug corrected in CameraParameters::resize
Version 2.0.11
- improved marker::draw to cope better with large images
- possible bug in rectangle detection found.
Version 2.0.10
- bug corrected in aruco_print_dictionary
- bug corrected in markermap ( if ( it!=m_meters.end()) )
Version 2.0.9
- bug corrected in MarkerPoseTracker relative to the refence system. The reference system of the markers computed using the Marker::calculateExtrinsics was different from the ne of MarkerPoseTracker. Now, the one
from MarkerPoseTRacker is the wining, since it is the same as the twin library markermapper.
Be careful since there might be a incompatiblilty issue in the reference system with preios data.
Version 2.0.8
- bugs corrected in Marker::toStream and Marker::fromStream
- proposed solution to the ambiguity problem in MarkerPoseTracker. See posetracker.h for details
Version 2.0.7
- removed <omp.h> from levmarq.h and included "ar_omp.h" instead
- M_PI substituted by 3.1415....
- added MarkerMap::calculateExtrinsics
- Conditional use of eigen3. It is only used if compiled against opencv2. In Opencv3 solvePnp works properly
Version 2.0.6
- Many warnings removed
Version 2.0.5
- Corrected bug in MarkerMapPoseTracker
VERSION 2.0.4
- C++11 code
- Markers ids are 64 bits (8x8)
- Predefined set of dictionaries. It includes ARUCO, ARUCOHRM, AprilTags, ArToolKit and ARTAG
- Added marker tracker. Avoids the problem of ambuguity? Hopefully
- Chromatic mask removed from libary.
- Removed Board and BoardDetector. This concepts are now expanded to the idea of MarkerMap and managed in classes MarkerInfo, MarkerMap and MarkerSetPoseTracker.
see utils_markerset for more examples.
This is to allow compatibility with the twin libary aruco_markermapper
VERSION 1.3.1
- Added MarkerDetector::Param class to encapsulate all of them.
- Added calibration tool in utils/aruco_calibrate that uses aruco chessboards
- removed MarkerDetector::setDesiredSpeed and MarkerDetector::getDesiredSpeed
- removed HARRIS corner method from markerdetector and locked corners stuff
- Add SVMMarkers class to detect markers with generic patterns using a trained SVM model.
- Code refactoring to encapsulate the detectors into classes. Added the class MarkerLabeler and its factory creator
- in aruco_create_board, random seed is now manually set if, or 0 if not. This creates by default always the same board
VERSION 1.3
- Compatibility with OpenCV 3
- In Marker Detector:
- Paralelization using OpenMP
- Marked as deprecated enableErosion and pyrDown
- Added functionality for markers with "locked corners". We refer to marker whose corners are connected
either to another marker (formaing a chessboard pattern), or to another black square. In this mode,
the use of subcorner refinement methods is expected to be more precise. See enableLockedCornersMethod()
- Added funcionality to search for the first threshold parameter simultaneously in several
values. The process is parallelized in multiple threads. See setMultiThresholdSearch()
- In HRM markers:
- Speed up marker identification process
- Improve performance of dictionary generation process.
- Added LICENSE file
VERSION 1.2.5
- New type of markers: highly reliable markers (hrm) including utils to use them
- Added chromaticmask class to create occlusion mask based on chromatic boards
- Added watermark with the id to the markers to allow easy identification of printed markers
- Now, by default, setYPerpendicular=false. So, Z is now pointing out of the board.
- Added a reprjection test in boardetector see BoardDetector::set_repj_err_thres() and BoardDetector::get_repj_err_thres ()
- Added support for 5 distortion parameters in CameraParameters class
- Removed experimental code for removing the deformation that occurs when a marker is in a cylinder
- Omp support in linux (in markerdetector)
- Added an static function in BoardDetector::detect to do everything in a single line.
- New BoardConfiguration constructor receving a path with the configuration to be read.
- Revised opencv #includes to include just the necessary modules
- Added aruco_calibration.cpp to perform camera calibration using aruco boards
- Changes in LINES refinement to perform undistortion automatically
- Method setYPerperdicular in BoardDetector changed to setYPerpendicular (spelling error)
- Added getWarpSize() and setWarpSize methods in MarkerDetector to allow changing the canonical image size
- Bug fixed in aruco_create_board
VERSION 1.2.4
- Bugs fixed for MSVC2010
VERSION 1.2.3
- Changes in boardconfiguration and boardetector to allow arbitrary located markers. No API changes involved, except for the config files that have changed their format.
- Changes in arucofidmarkers to allow the creation of chessboard like boards (FiducidalMarkers::createBoardImage_ChessBoard).
Added the corresponding change in aruco_create_board to support such feature
- Added experimental code for removing the deformation that occurs when a marker is in a cylinder
- Added the corner refinement method LINES. It is based on intersecting the lines of the marker's sides using the contour points.
We believe this is the best refinement method of the library so far.
- Added functionality in aruco::BoarDetector to perform the whole detection process in it if desired
- Changed aruco_test_board to use the new functionality described above
- Changed old way of obtaining extrinsics FindExtrinsicParam2 for the new one solvePnp in BoardDetector and in Marker
VERSION 1.1.0
- Ogre integration ( Board::OgreGetPoseParameters and Marker::OgreGetPoseParameters).
- Changes to make it compile with MSVC 2010
- Remove getopt.h dependency. Command line are simpler now
- MarkerDetector: Externalization of the marker detector to allow using user-defined markers. The function setMakerDetectorFunction allows to define this function
- Added class FiducidalMarkers to detect the original aruco markers
- MarkerDetector: function glGetProjectionMatrix is moved to the CameraParameters class. Sorry, but it is more logical.
- MarkerDetector: Clear separation between the detection phases into separated functions that can be externally called (thresHold and detectRectangles) for more sohpisticated user needs
- MarkerDetector: new corner refinement method based on harris detector. Also, added the possibility of not refining corners at all.
- Added an option to work on a reduced version of the images (pyrDown).
- Changes the adaptive threshold method. Now we employ the MEAN. As a consequence, the process is faster and do not depen on the window size.
- Initial tests with android
- Bugs fixed
VERSION 1.0.0
- New names for the main classes Marker,MarkerDector... etc. Sorry, but I needed to clear up things. It wont be difficult to adapt.
- A new class for the camera parameters. It can be readed from the calibration.cpp application in OpenCv2.2
- Refactorization of code to make it more maintainable
- Better support for Windows (Cmake) and OpenGL
- Improved documentation. Windows users should read the README file that explains how to build the library
- A new class for drawing markers and boards in opencv images
- A couple of new very simple examples to teach the use of the library(aruco_simple and aruco_simple_board)
VERSION 0.9.5
Added support for Boards
Added cmake support
Bugs fixed