From 07c3aae315fd76f388aaa07b82758a6f8bd3a2a2 Mon Sep 17 00:00:00 2001 From: Tomoaki Teshima <tomoaki.teshima@gmail.com> Date: Sun, 5 Apr 2020 01:39:47 +0900 Subject: [PATCH 1/5] let the test pass on Mali G52 (ODROID-N2) --- modules/imgproc/test/ocl/test_houghlines.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/imgproc/test/ocl/test_houghlines.cpp b/modules/imgproc/test/ocl/test_houghlines.cpp index e6cb439403..4e7b8917ac 100644 --- a/modules/imgproc/test/ocl/test_houghlines.cpp +++ b/modules/imgproc/test/ocl/test_houghlines.cpp @@ -173,7 +173,7 @@ OCL_TEST_P(HoughLinesP, RealImage) OCL_INSTANTIATE_TEST_CASE_P(Imgproc, HoughLines, Combine(Values(1, 0.5), // rhoStep Values(CV_PI / 180.0, CV_PI / 360.0), // thetaStep - Values(80, 150))); // threshold + Values(85, 150))); // threshold OCL_INSTANTIATE_TEST_CASE_P(Imgproc, HoughLinesP, Combine(Values(100, 150), // threshold Values(50, 100), // minLineLength From 2d387356de6c869857871c2c661f25829c496154 Mon Sep 17 00:00:00 2001 From: albert-github <albert.tests@gmail.com> Date: Sat, 4 Apr 2020 15:30:38 +0200 Subject: [PATCH 2/5] Incorrect PREDEFINED setting. The PREDEFINED setting for had a space between the define name and the equal sign and this is not allowed, it results in the warning: ``` error: Illegal PREDEFINED format '=', no define name specified ``` according to the documentation explicitly states that no space is allowed: > The PREDEFINED tag can be used to specify one or more macro names that are defined before the preprocessor is started (similar to the -D option of e.g. gcc). The argument of the tag is a list of macros of the form: name or name=definition (no spaces). If the definition and the "=" are omitted, "=1" is assumed. To prevent a macro definition from being undefined via #undef or recursively expanded use the := operator instead of the = operator. --- doc/Doxyfile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index d270e636af..c881964254 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -241,7 +241,7 @@ PREDEFINED = __cplusplus=1 \ CV_WRAP= \ CV_WRAP_AS(x)= \ CV_CDECL= \ - CV_Func = \ + CV_Func= \ CV_DO_PRAGMA(x)= \ CV_SUPPRESS_DEPRECATED_START= \ CV_SUPPRESS_DEPRECATED_END= \ From 1a6b4d6ce6610e83f683f03c82fae0b40c048227 Mon Sep 17 00:00:00 2001 From: Ben Li <benji112358@gmail.com> Date: Thu, 2 Apr 2020 21:32:03 -0400 Subject: [PATCH 3/5] typo fix --- .../py_imgproc/py_houghlines/py_houghlines.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/py_tutorials/py_imgproc/py_houghlines/py_houghlines.markdown b/doc/py_tutorials/py_imgproc/py_houghlines/py_houghlines.markdown index 17844b7e80..9851599455 100644 --- a/doc/py_tutorials/py_imgproc/py_houghlines/py_houghlines.markdown +++ b/doc/py_tutorials/py_imgproc/py_houghlines/py_houghlines.markdown @@ -80,7 +80,7 @@ Probabilistic Hough Transform In the hough transform, you can see that even for a line with two arguments, it takes a lot of computation. Probabilistic Hough Transform is an optimization of the Hough Transform we saw. It doesn't take all the points into consideration. Instead, it takes only a random subset of points which is -sufficient for line detection. Just we have to decrease the threshold. See image below which compares +sufficient for line detection. We just have to decrease the threshold. See image below which compares Hough Transform and Probabilistic Hough Transform in Hough space. (Image Courtesy : [Franck Bettinger's home page](http://phdfb1.free.fr/robot/mscthesis/node14.html) ) From a448d3a6aaae25a09c883ed1b5c23f02b89090c0 Mon Sep 17 00:00:00 2001 From: Liubov Batanina <piccione-mail@yandex.ru> Date: Fri, 3 Apr 2020 15:40:11 +0300 Subject: [PATCH 4/5] Fix ENet test with OpenVINO 2020.2 --- modules/dnn/src/dnn.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/dnn/src/dnn.cpp b/modules/dnn/src/dnn.cpp index 0f8dacad35..f33bbbd2ac 100644 --- a/modules/dnn/src/dnn.cpp +++ b/modules/dnn/src/dnn.cpp @@ -2100,7 +2100,11 @@ struct Net::Impl auto ieInpNode = inputNodes[i].dynamicCast<InfEngineNgraphNode>(); CV_Assert(oid < ieInpNode->node->get_output_size()); +#if INF_ENGINE_VER_MAJOR_GT(2020020000) + inputNodes[i] = Ptr<BackendNode>(new InfEngineNgraphNode(ieInpNode->node->get_output_as_single_output_node(oid))); +#else inputNodes[i] = Ptr<BackendNode>(new InfEngineNgraphNode(ieInpNode->node->get_output_as_single_output_node(oid, false))); +#endif } if (layer->supportBackend(preferableBackend)) From 8334932a26efbf06ce2b408e576654f69d04f15f Mon Sep 17 00:00:00 2001 From: Adam Fowles <adamfowles22@gmail.com> Date: Mon, 6 Apr 2020 10:49:02 -0400 Subject: [PATCH 5/5] Merge pull request #16992 from afowles:fix-forEach-segfault * Fixed divide by zero error in forEach * Dedicated assertion for !empty --- modules/core/include/opencv2/core/utility.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/core/include/opencv2/core/utility.hpp b/modules/core/include/opencv2/core/utility.hpp index 86cd2f1fe0..a110d34684 100644 --- a/modules/core/include/opencv2/core/utility.hpp +++ b/modules/core/include/opencv2/core/utility.hpp @@ -622,6 +622,7 @@ void Mat::forEach_impl(const Functor& operation) { // or (_Tp&, void*) <- in case you don't need current idx. } + CV_Assert(!empty()); CV_Assert(this->total() / this->size[this->dims - 1] <= INT_MAX); const int LINES = static_cast<int>(this->total() / this->size[this->dims - 1]);