-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathChangeLog
192 lines (178 loc) · 11.3 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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
Version 3.0.11
- Conditional addition of levmarq file. Only required in OpenCv < 3.0
Version 3.0.10
- Corrected bug in utils/aruco_test so that custom dictionaries can be employed
Version 3.0.9
- Addded old style opencv2/xx/xx.hpp headers to compile with 2.4.9 which is default in 16.04
Version 3.0.8
- Changed CameraParameters::operator<< to output xml files
- Corrected bug in arucoConfig.cmake in windows systems that ffected to integration of aruco in other projects
Version 3.0.7
- properly adapted to compile in Android
- arucoConfig file is now saved in aruco/arucoConfig.cmake
- Added control of big jumps in MarkerMapPoseTracker. Allows to set a maximum difference with previous position to avoid errors
Version 3.0.6
- Added serialization for MarkerDetector. You can use load/write functions. Allows to save configuration and load it in your app.
Use aruco_test to set the best configuration and press 'f' on the app to save the file. Use the file in your apps
- Modified aruco_test to allow saving the configuration file.
- Added support for enclosed corners calling MarkerDetector::getParameters().detectEnclosedMarkers(true);
This is yet experimental.
- Added multiples modes of corner refinement (subpixel, lines and none). See MarkerDetector::Params::setCornerRefinementMethod
- Improvement in aruco_test application to have more control over the params. Also, allows to save the configuration to file pressing 'f'
Version 3.0.5
- Moved all parameters used in MarkerDetector to MarkerDetector::Params so as to allow serialization
- Initial support for enclosed markers
- Automatic estimation of the adaptive threshold window size as a function of the image dimensions
- Corrected bug in MarkerMapPoseTracker::setParams with the maps expressed in pixels
Version 3.0.4
- Set ALL_DICTS as default behaviour internally in MarkerDetector
- Corrected bug in some linux machines with reading directory
- Corrected problem with cmake file including the aruco header
- Added auto_orient in aruco_calibration_from_images for automatically rotating images taken from cameras if required
- Corrected bug in calibration. Ensure camera matrix and distortion coeffs are floats
- Enabled minMarkerSize in DM_NORMAL mode
Version 3.0.3
- Changed all opencv2 includes to new style
- Corrected compilation error in Opencv 2.4 ( in svnmarkers.cpp related to CV_VERSION_EPOCH)
Version 3.0.2
- added #include <stdexcept> in many files to avoid compilation errors in some old systems
Version 3.0.1
- aruco_calibration_fromimage chaged so that it now read files from a dicectory
Version 3.0.0
- Removed all funcions marked as deprecated in version 2.x.x
- Removed refinement methods, only subpixel is now available via MarkerDetector::Params::_doSubPixCornerRefinement
- MarkerDetector::Params::_maxSize removed
- MarkerDetector::Params::_doErosion added for enclosed markers
- MarkerDetector::Params::_thresMethod removed, always will use adaptive threshold
Version 2.0.20 (Luis Diaz Collaboration)
- clang
- cmake improved
- many bugs corrected
- improved detection of enclosed markers
- improved aruco_test app with more options to debug possible misdetections
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