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]);