diff --git a/modules/core/misc/objc/common/Mat.mm b/modules/core/misc/objc/common/Mat.mm index ab5e1de6f9..a160d98f67 100644 --- a/modules/core/misc/objc/common/Mat.mm +++ b/modules/core/misc/objc/common/Mat.mm @@ -98,7 +98,7 @@ static bool updateIdx(cv::Mat* mat, std::vector& indices, size_t inc) { - (instancetype)initWithSize:(Size2i*)size type:(int)type { self = [super init]; if (self) { - _nativePtr = new cv::Mat(size.width, size.height, type); + _nativePtr = new cv::Mat(size.height, size.width, type); } return self; } @@ -128,7 +128,7 @@ static bool updateIdx(cv::Mat* mat, std::vector& indices, size_t inc) { self = [super init]; if (self) { cv::Scalar scalerTemp(scalar.val[0].doubleValue, scalar.val[1].doubleValue, scalar.val[2].doubleValue, scalar.val[3].doubleValue); - _nativePtr = new cv::Mat(size.width, size.height, type, scalerTemp); + _nativePtr = new cv::Mat(size.height, size.width, type, scalerTemp); } return self; } diff --git a/modules/core/misc/objc/test/MatTest.swift b/modules/core/misc/objc/test/MatTest.swift index 87f99fb84a..59504781c9 100644 --- a/modules/core/misc/objc/test/MatTest.swift +++ b/modules/core/misc/objc/test/MatTest.swift @@ -17,6 +17,12 @@ class MatTests: OpenCVTestCase { super.tearDown() } + func testInitWithSize() { + let size = Size(width: 7, height: 9) + let mat = Mat(size: size, type: CvType.CV_8U) + assertSizeEquals(size, mat.size()) + } + func testAdjustROI() throws { let roi = gray0.submat(rowStart: 3, rowEnd: 5, colStart: 7, colEnd: 10) let originalroi = roi.clone()