Skip to content

Commit cbd4bd7

Browse files
committed
Merge branch 4.x
2 parents 119fb7e + a5b2490 commit cbd4bd7

File tree

30 files changed

+1857
-159
lines changed

30 files changed

+1857
-159
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
<!--
2+
If you have a question rather than reporting a bug please go to https://forum.opencv.org where you get much faster responses.
3+
If you need further assistance please read [How To Contribute](https://github.com/opencv/opencv/wiki/How_to_contribute).
4+
5+
This is a template helping you to create an issue which can be processed as quickly as possible. This is the bug reporting section for the OpenCV library.
6+
-->
7+
18
##### System information (version)
29
<!-- Example
310
- OpenCV => 4.2
@@ -26,26 +33,25 @@
2633

2734
- [ ] I report the issue, it's not a question
2835
<!--
29-
OpenCV team works with answers.opencv.org, Stack Overflow and other communities
30-
to discuss problems. Tickets with question without real issue statement will be
36+
OpenCV team works with forum.opencv.org, Stack Overflow and other communities
37+
to discuss problems. Tickets with questions without a real issue statement will be
3138
closed.
3239
-->
3340
- [ ] I checked the problem with documentation, FAQ, open issues,
34-
answers.opencv.org, Stack Overflow, etc and have not found solution
41+
forum.opencv.org, Stack Overflow, etc and have not found any solution
3542
<!--
3643
Places to check:
3744
* OpenCV documentation: https://docs.opencv.org
3845
* FAQ page: https://github.com/opencv/opencv/wiki/FAQ
39-
* OpenCV forum: https://answers.opencv.org
46+
* OpenCV forum: https://forum.opencv.org
4047
* OpenCV issue tracker: https://github.com/opencv/opencv/issues?q=is%3Aissue
41-
* OpenCV Contrib issue tracker: https://github.com/opencv/opencv_contrib/issues?q=is%3Aissue
4248
* Stack Overflow branch: https://stackoverflow.com/questions/tagged/opencv
4349
-->
44-
- [ ] I updated to latest OpenCV version and the issue is still there
50+
- [ ] I updated to the latest OpenCV version and the issue is still there
4551
<!--
4652
master branch for OpenCV 4.x and 3.4 branch for OpenCV 3.x releases.
47-
OpenCV team supports only latest release for each branch.
48-
The ticket is closed, if the problem is not reproduced with modern version.
53+
OpenCV team supports only the latest release for each branch.
54+
The ticket is closed if the problem is not reproduced with the modern version.
4955
-->
5056
- [ ] There is reproducer code and related data files: videos, images, onnx, etc
5157
<!--
@@ -55,9 +61,9 @@
5561
to reduce attachment size
5662
* Use PNG for images, if you report some CV related bug, but not image reader
5763
issue
58-
* Attach the image as archive to the ticket, if you report some reader issue.
64+
* Attach the image as an archive to the ticket, if you report some reader issue.
5965
Image hosting services compress images and it breaks the repro code.
60-
* Provide ONNX file for some public model or ONNX file with with random weights,
66+
* Provide ONNX file for some public model or ONNX file with random weights,
6167
if you report ONNX parsing or handling issue. Architecture details diagram
6268
from netron tool can be very useful too. See https://lutzroeder.github.io/netron/
6369
-->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request
44

55
- [ ] I agree to contribute to the project under Apache 2 License.
6-
- [ ] To the best of my knowledge, the proposed patch is not based on a code under GPL or other license that is incompatible with OpenCV
7-
- [ ] The PR is proposed to proper branch
8-
- [ ] There is reference to original bug report and related work
6+
- [ ] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
7+
- [ ] The PR is proposed to the proper branch
8+
- [ ] There is a reference to the original bug report and related work
99
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
1010
Patch to opencv_extra has the same branch name.
1111
- [ ] The feature is well documented and sample code can be built with the project CMake

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This repository is intended for the development of so-called "extra" modules,
44
contributed functionality. New modules quite often do not have stable API,
5-
and they are not well-tested. Thus, they shouldn't be released as a part of
5+
and they are not well-tested. Thus, they shouldn't be released as a part of the
66
official OpenCV distribution, since the library maintains binary compatibility,
77
and tries to provide decent performance and stability.
88

@@ -33,7 +33,7 @@ $ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -DBUILD_opencv_lega
3333

3434
If you also want to build the samples from the "samples" folder of each module, also include the "-DBUILD_EXAMPLES=ON" option.
3535

36-
If you prefer using the gui version of cmake (cmake-gui), then, you can add `opencv_contrib` modules within `opencv` core by doing the following:
36+
If you prefer using the GUI version of CMake (cmake-gui), then, you can add `opencv_contrib` modules within `opencv` core by doing the following:
3737

3838
1. Start cmake-gui.
3939

@@ -55,6 +55,6 @@ If you prefer using the gui version of cmake (cmake-gui), then, you can add `ope
5555

5656
In order to keep a clean overview containing all contributed modules, the following files need to be created/adapted:
5757

58-
1. Update the README.md file under the modules folder. Here, you add your model with a single line description.
58+
1. Update the README.md file under the modules folder. Here, you add your model with a single-line description.
5959

60-
2. Add a README.md inside your own module folder. This README explains which functionality (separate functions) is available, links to the corresponding samples and explains in somewhat more detail what the module is expected to do. If any extra requirements are needed to build the module without problems, add them here also.
60+
2. Add a README.md inside your own module folder. This README explains which functionality (separate functions) is available, links to the corresponding samples, and explains in somewhat more detail what the module is expected to do. If any extra requirements are needed to build the module without problems, add them here also.

modules/aruco/include/opencv2/aruco.hpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,24 @@ enum CornerRefineMethod{
146146
* Parameter is the standard deviation in pixels. Very noisy images benefit from non-zero values (e.g. 0.8). (default 0.0)
147147
* - detectInvertedMarker: to check if there is a white marker. In order to generate a "white" marker just
148148
* invert a normal marker by using a tilde, ~markerImage. (default false)
149+
* - useAruco3Detection: to enable the new and faster Aruco detection strategy. The most important observation from the authors of
150+
* Romero-Ramirez et al: Speeded up detection of squared fiducial markers (2018) is, that the binary
151+
* code of a marker can be reliably detected if the canonical image (that is used to extract the binary code)
152+
* has a size of minSideLengthCanonicalImg (in practice tau_c=16-32 pixels).
153+
* Link to article: https://www.researchgate.net/publication/325787310_Speeded_Up_Detection_of_Squared_Fiducial_Markers
154+
* In addition, very small markers are barely useful for pose estimation and thus a we can define a minimum marker size that we
155+
* still want to be able to detect (e.g. 50x50 pixel).
156+
* To decouple this from the initial image size they propose to resize the input image
157+
* to (I_w_r, I_h_r) = (tau_c / tau_dot_i) * (I_w, I_h), with tau_dot_i = tau_c + max(I_w,I_h) * tau_i.
158+
* Here tau_i (parameter: minMarkerLengthRatioOriginalImg) is a ratio in the range [0,1].
159+
* If we set this to 0, the smallest marker we can detect
160+
* has a side length of tau_c. If we set it to 1 the marker would fill the entire image.
161+
* For a FullHD video a good value to start with is 0.1.
162+
* - minSideLengthCanonicalImg: minimum side length of a marker in the canonical image.
163+
* Latter is the binarized image in which contours are searched.
164+
* So all contours with a size smaller than minSideLengthCanonicalImg*minSideLengthCanonicalImg will omitted from the search.
165+
* - minMarkerLengthRatioOriginalImg: range [0,1], eq (2) from paper
166+
* The parameter tau_i has a direct influence on the processing speed.
149167
*/
150168
struct CV_EXPORTS_W DetectorParameters {
151169

@@ -188,6 +206,12 @@ struct CV_EXPORTS_W DetectorParameters {
188206

189207
// to detect white (inverted) markers
190208
CV_PROP_RW bool detectInvertedMarker;
209+
210+
// New Aruco functionality proposed in the paper:
211+
// Romero-Ramirez et al: Speeded up detection of squared fiducial markers (2018)
212+
CV_PROP_RW bool useAruco3Detection;
213+
CV_PROP_RW int minSideLengthCanonicalImg;
214+
CV_PROP_RW float minMarkerLengthRatioOriginalImg;
191215
};
192216

193217

0 commit comments

Comments
 (0)