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;