From f9d7f47e28c01e4ba878f5ee3f0f2a1f5bce861a Mon Sep 17 00:00:00 2001 From: Dmitry Kurtaev Date: Tue, 13 Jun 2023 10:45:03 +0300 Subject: [PATCH] Change Scalar assignment in Python from single value --- modules/dnn/misc/python/test/test_dnn.py | 6 ++++++ modules/python/src2/cv2_convert.cpp | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/dnn/misc/python/test/test_dnn.py b/modules/dnn/misc/python/test/test_dnn.py index 54b51b4133..5c91aae56f 100644 --- a/modules/dnn/misc/python/test/test_dnn.py +++ b/modules/dnn/misc/python/test/test_dnn.py @@ -446,5 +446,11 @@ class dnn_test(NewOpenCVTests): normAssert(self, real_output, gold_output, "", getDefaultThreshold(target)) + def test_scalefactor_assign(self): + params = cv.dnn.Image2BlobParams() + self.assertEqual(params.scalefactor, (1.0, 1.0, 1.0, 1.0)) + params.scalefactor = 2.0 + self.assertEqual(params.scalefactor, (2.0, 0.0, 0.0, 0.0)) + if __name__ == '__main__': NewOpenCVTests.bootstrap() diff --git a/modules/python/src2/cv2_convert.cpp b/modules/python/src2/cv2_convert.cpp index f2be05d92d..f03a2e2d86 100644 --- a/modules/python/src2/cv2_convert.cpp +++ b/modules/python/src2/cv2_convert.cpp @@ -327,7 +327,7 @@ bool pyopencv_to(PyObject *o, Scalar& s, const ArgInfo& info) } } else { if (PyFloat_Check(o) || PyInt_Check(o)) { - s[0] = PyFloat_AsDouble(o); + s = PyFloat_AsDouble(o); } else { failmsg("Scalar value for argument '%s' is not numeric", info.name); return false;