return p.getArrayResult();
}
+CV_WRAP static inline
+String dumpVec2i(const cv::Vec2i value = cv::Vec2i(42, 24)) {
+ return format("Vec2i(%d, %d)", value[0], value[1]);
+}
+
namespace nested {
CV_WRAP static inline bool testEchoBooleanFunction(bool flag) {
return flag;
};
//! @cond IGNORED
-CV_EXPORTS_W void testMatxPythonConverter(InputArray src, OutputArray dst, const Vec2d& defaultParam = Vec2d(-5, 5));
// === LineIterator implementation ===
+++ /dev/null
-from __future__ import print_function
-import cv2 as cv
-from cv2 import testMatxPythonConverter
-from tests_common import NewOpenCVTests
-
-
-class MatxConverterTest(NewOpenCVTests):
- def test_matxconverter(self):
- samples = ['samples/data/lena.jpg', 'cv/cascadeandhog/images/mona-lisa.png']
-
- for sample in samples:
- img = self.get_sample(sample)
- out = testMatxPythonConverter(img)
-
-
-if __name__ == '__main__':
- NewOpenCVTests.bootstrap()
-
-
+++ /dev/null
-#include "precomp.hpp"
-
-namespace cv{
- void testMatxPythonConverter(InputArray _src, OutputArray _dst, const Vec2d& defaultParam){
- printf("%f %f\n", defaultParam[0], defaultParam[1]);
- Mat src = _src.getMat();
- src.copyTo(_dst);
- }
-}
template<typename _Tp, int m, int n>
bool pyopencv_to(PyObject* o, cv::Matx<_Tp, m, n>& mx, const ArgInfo& info)
{
- if (!o || o == Py_None)
+ if (!o || o == Py_None) {
return true;
+ }
cv::Mat tmp;
if (!pyopencv_to(o, tmp, info)) {
res = cv.utils._native.testOverwriteNativeMethod(123)
self.assertEqual(res, 123, msg="Failed to call native method implementation")
+ def test_default_matx_argument(self):
+ res = cv.utils.dumpVec2i()
+ self.assertEqual(res, "Vec2i(42, 24)",
+ msg="Default argument is not properly handled")
+ res = cv.utils.dumpVec2i((12, 21))
+ self.assertEqual(res, "Vec2i(12, 21)")
+
class SamplesFindFile(NewOpenCVTests):