diff --git a/modules/java/android_test/src/org/opencv/test/imgproc/imgprocTest.java b/modules/java/android_test/src/org/opencv/test/imgproc/imgprocTest.java index 956f171b56..76c2e19f57 100644 --- a/modules/java/android_test/src/org/opencv/test/imgproc/imgprocTest.java +++ b/modules/java/android_test/src/org/opencv/test/imgproc/imgprocTest.java @@ -17,20 +17,18 @@ import org.opencv.test.OpenCVTestRunner; public class imgprocTest extends OpenCVTestCase { - private Mat src; - private Mat dstImage; - private Mat out; + private Mat gray_64f_2; + private Mat dst64F; + private int imgprocSz; @Override protected void setUp() throws Exception { super.setUp(); + + imgprocSz = 2; - src = new Mat(2, 2, CvType.CV_64F); - src.put(0, 0, 2, 2); - src.put(1, 0, 2, 2); - - dstImage = new Mat(2, 2, CvType.CV_64F); - out = new Mat(2, 2, CvType.CV_64F); + gray_64f_2 = new Mat(imgprocSz, imgprocSz, CvType.CV_64F, new Scalar(2)); + dst64F = new Mat(imgprocSz, imgprocSz, CvType.CV_64F); } public void test_1() { @@ -38,125 +36,100 @@ public class imgprocTest extends OpenCVTestCase { } public void testAccumulateMatMat() { - out.put(0, 0, 2, 2); - out.put(1, 0, 2, 2); - - Imgproc.accumulate(src, dstImage); - assertMatEqual(out, dstImage); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(2)); + Imgproc.accumulate(gray_64f_2, dst64F); + assertMatEqual(truth, dst64F); - dst = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); + dst = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); Imgproc.accumulate(gray1_32f, dst); assertMatEqual(gray1_32f, dst); } public void testAccumulateMatMatMat() { - Mat mask = new Mat(2, 2, CvType.CV_8U); - - out.put(0, 0, 2, 2); - out.put(1, 0, 2, 2); - - mask.put(0, 0, 2, 2); - mask.put(1, 0, 2, 2); - - Imgproc.accumulate(src, dstImage, mask); // TODO: use mask - assertMatEqual(out, dstImage); + Mat mask = new Mat(2, 2, CvType.CV_8U, new Scalar(1)); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(2)); + Imgproc.accumulate(gray_64f_2, dst64F, mask); //TODO: use better mask + assertMatEqual(truth, dst64F); } public void testAccumulateProductMatMatMat() { Mat src1 = new Mat(2, 2, CvType.CV_64F); - Mat src2 = new Mat(2, 2, CvType.CV_64F); - src1.put(0, 0, 1, 1); src1.put(1, 0, 1, 1); - + + Mat src2 = new Mat(2, 2, CvType.CV_64F); src2.put(0, 0, 2, 1); src2.put(1, 0, 1, 2); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(2)); + truth.put(0, 0, 2, 1); + truth.put(1, 0, 1, 2); + Mat dstImage = new Mat(2, 2, CvType.CV_64F, new Scalar(0)); Imgproc.accumulateProduct(src1, src2, dstImage); - out.put(0, 0, 2, 1); - out.put(1, 0, 1, 2); - assertMatEqual(out, dstImage); + assertMatEqual(truth, dstImage); } public void testAccumulateProductMatMatMatMat() { Mat src1 = new Mat(2, 2, CvType.CV_64F); - Mat src2 = new Mat(2, 2, CvType.CV_64F); - Mat mask = new Mat(2, 2, CvType.CV_8U); - src1.put(0, 0, 1, 1); src1.put(1, 0, 0, 1); - + + Mat src2 = new Mat(2, 2, CvType.CV_64F); src2.put(0, 0, 2, 1); src2.put(1, 0, 1, 2); + + Mat mask = new Mat(2, 2, CvType.CV_8U, new Scalar(1)); - out.put(0, 0, 2, 1); - out.put(1, 0, 0, 2); - - mask.put(0, 0, 1, 1); - mask.put(1, 0, 1, 1); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(2)); + truth.put(0, 0, 2, 1); + truth.put(1, 0, 0, 2); - Imgproc.accumulateProduct(src1, src2, dstImage, mask); - OpenCVTestRunner.Log(dstImage.dump()); - assertMatEqual(out, dstImage); + Imgproc.accumulateProduct(src1, src2, dst64F, mask); + assertMatEqual(truth, dst64F); } public void testAccumulateSquareMatMat() { - - out.put(0, 0, 4, 4); - out.put(1, 0, 4, 4); - - Imgproc.accumulateSquare(src, dstImage); - assertMatEqual(out, dstImage); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(4)); + Imgproc.accumulateSquare(gray_64f_2, dst64F); + assertMatEqual(truth, dst64F); } public void testAccumulateSquareMatMatMat() { - Mat mask = new Mat(2, 2, CvType.CV_8U); - out.put(0, 0, 4, 4); - out.put(1, 0, 4, 4); + Mat mask = new Mat(2, 2, CvType.CV_8U, new Scalar(1)); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(4)); - mask.put(0, 0, 1, 1); - mask.put(1, 0, 1, 1); - - Imgproc.accumulateSquare(src, dstImage, mask); - assertMatEqual(out, dstImage); + Imgproc.accumulateSquare(gray_64f_2, dst64F, mask); + assertMatEqual(truth, dst64F); } public void testAccumulateWeightedMatMatDouble() { - out.put(0, 0, 4, 4); - out.put(1, 0, 4, 4); - - Imgproc.accumulateWeighted(src, dstImage, 2.0); - OpenCVTestRunner.Log(dstImage.dump()); - assertMatEqual(out, dstImage); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(4)); + Imgproc.accumulateWeighted(gray_64f_2, dst64F, 2.0); + assertMatEqual(truth, dst64F); } public void testAccumulateWeightedMatMatDoubleMat() { - Mat mask = new Mat(2, 2, CvType.CV_8U); - out.put(0, 0, 8, 8); - out.put(1, 0, 8, 8); + Mat mask = new Mat(2, 2, CvType.CV_8U, new Scalar(1)); - mask.put(0, 0, 1, 1); - mask.put(1, 0, 1, 1); - - Imgproc.accumulateWeighted(src, dstImage, 4.0, mask); - assertMatEqual(out, dstImage); + truth = new Mat(2, 2, CvType.CV_64F, new Scalar(8)); + Imgproc.accumulateWeighted(gray_64f_2, dst64F, 4.0, mask); + assertMatEqual(truth, dst64F); } public void testAdaptiveThreshold() { - Imgproc.adaptiveThreshold(gray0, dst, 2.0, - Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C, Imgproc.THRESH_BINARY, 3, 0); + Imgproc.adaptiveThreshold(gray0, dst, 2.0, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C, Imgproc.THRESH_BINARY, 3, 0); assertMatEqual(gray0, dst); } public void testApproxPolyDP() { Mat curve = new Mat(1, 5, CvType.CV_32FC2); - Mat approxCurve = new Mat(3, 1, CvType.CV_32FC2); - double epsilon = 0.001; curve.put(0, 0, 1.0, 3.0, 2.0, 4.0, 3.0, 5.0, 4.0, 4.0, 5.0, 3.0); + + Mat approxCurve = new Mat(3, 1, CvType.CV_32FC2); approxCurve.put(0, 0, 1.0, 3.0, 3.0, 5.0, 5.0, 3.0); - Imgproc.approxPolyDP(curve, dst, epsilon, true); + Imgproc.approxPolyDP(curve, dst, EPS, true); assertMatEqual(approxCurve, dst); } @@ -175,8 +148,7 @@ public class imgprocTest extends OpenCVTestCase { } public void testBilateralFilterMatMatIntDoubleDoubleInt() { - Imgproc.bilateralFilter(gray255, dst, 5, 10.0, 5.0, - Imgproc.BORDER_REFLECT); + Imgproc.bilateralFilter(gray255, dst, 5, 10.0, 5.0, Imgproc.BORDER_REFLECT); assertMatEqual(gray255, dst); } @@ -207,8 +179,7 @@ public class imgprocTest extends OpenCVTestCase { } public void testBorderInterpolate() { - float val1 = Imgproc.borderInterpolate(100, 150, - Imgproc.BORDER_REFLECT_101); + float val1 = Imgproc.borderInterpolate(100, 150, Imgproc.BORDER_REFLECT_101); Imgproc.borderInterpolate(-5, 10, Imgproc.BORDER_WRAP); assertEquals(100.0f, val1); @@ -217,17 +188,15 @@ public class imgprocTest extends OpenCVTestCase { } public void testBoundingRect() { - Rect dstRect = new Rect(); Mat points = new Mat(1, 4, CvType.CV_32FC2); - Point p1 = new Point(1, 1); - Point p2 = new Point(-5, -2); points.put(0, 0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 4.0, 4.0); + + Point p1 = new Point(1, 1); + Point p2 = new Point(-5, -2); - // TODO : are this a good tests? - dstRect = Imgproc.boundingRect(points); - assertTrue(dstRect.contains(p1)); - assertFalse(dstRect.contains(p2)); - + Rect bbox = Imgproc.boundingRect(points); + assertTrue(bbox.contains(p1)); + assertFalse(bbox.contains(p2)); } public void testBoxFilterMatMatIntSize() { @@ -257,8 +226,7 @@ public class imgprocTest extends OpenCVTestCase { Size sz = new Size(3, 3); Point anchor = new Point(2, 2); - Imgproc.boxFilter(gray255, dst, 8, sz, anchor, false, - Imgproc.BORDER_REFLECT); + Imgproc.boxFilter(gray255, dst, 8, sz, anchor, false, Imgproc.BORDER_REFLECT); assertMatEqual(gray255, dst); } @@ -293,8 +261,7 @@ public class imgprocTest extends OpenCVTestCase { images.add(gray128); channels.add(0); histSize.add(10); - ranges.add(0.0f); - ranges.add(256.0f); + ranges.add(0.0f); ranges.add(256.0f); truth = new Mat(10, 1, CvType.CV_32F, Scalar.all(0.0)); truth.put(5, 0, 100.0); @@ -319,10 +286,8 @@ public class imgprocTest extends OpenCVTestCase { histSize.add(10); histSize.add(10); - ranges.add(0.0f); - ranges.add(256.0f); - ranges.add(0.0f); - ranges.add(256.0f); + ranges.add(0.0f); ranges.add(256.0f); + ranges.add(0.0f); ranges.add(256.0f); truth = new Mat(10, 10, CvType.CV_32F, Scalar.all(0.0)); truth.put(9, 5, 100.0); @@ -348,22 +313,18 @@ public class imgprocTest extends OpenCVTestCase { histSize.add(10); histSize.add(10); - ranges.add(0.0f); - ranges.add(256.0f); - ranges.add(0.0f); - ranges.add(256.0f); + ranges.add(0.0f); ranges.add(256.0f); + ranges.add(0.0f); ranges.add(256.0f); truth = new Mat(10, 10, CvType.CV_32F, Scalar.all(0.0)); truth.put(9, 5, 100.0); - Imgproc.calcHist(images, channels, new Mat(), hist, histSize, ranges, - true); + Imgproc.calcHist(images, channels, new Mat(), hist, histSize, ranges, true); assertMatEqual(truth, hist); } public void testCannyMatMatDoubleDouble() { Imgproc.Canny(gray255, dst, 5.0, 10.0); assertMatEqual(gray0, dst); - ; } public void testCannyMatMatDoubleDoubleInt() { @@ -420,9 +381,9 @@ public class imgprocTest extends OpenCVTestCase { public void testConvexHullMatMat() { Mat points = new Mat(1, 6, CvType.CV_32FC2); - Mat expHull = new Mat(4, 1, CvType.CV_32FC2); - points.put(0, 0, 2.0, 0.0, 4.0, 0.0, 3.0, 2.0, 0.0, 2.0, 2.0, 1.0, 3.0, 1.0); + + Mat expHull = new Mat(4, 1, CvType.CV_32FC2); expHull.put(0, 0, 4, 0, 3, 2, 0, 2, 2, 0); Imgproc.convexHull(points, dst); @@ -431,10 +392,9 @@ public class imgprocTest extends OpenCVTestCase { public void testConvexHullMatMatBoolean() { Mat points = new Mat(1, 6, CvType.CV_32FC2); + points.put(0, 0, 2.0, 0.0, 4.0, 0.0, 3.0, 2.0, 0.0, 2.0, 2.0, 1.0, 3.0, 1.0); + Mat expHull = new Mat(4, 1, CvType.CV_32FC2); - - points.put(0, 0, 2.0, 0.0, 4.0, 0.0, 3.0, 2.0, 0.0, 2.0, 2.0, 1.0, 3.0, - 1.0); expHull.put(0, 0, 0, 2, 3, 2, 4, 0, 2, 0); Imgproc.convexHull(points, dst, true); @@ -443,10 +403,9 @@ public class imgprocTest extends OpenCVTestCase { public void testConvexHullMatMatBooleanBoolean() { Mat points = new Mat(1, 6, CvType.CV_32FC2); + points.put(0, 0, 2.0, 0.0, 4.0, 0.0, 3.0, 2.0, 0.0, 2.0, 2.0, 1.0, 3.0, 1.0); + Mat expHull = new Mat(4, 1, CvType.CV_32FC2); - - points.put(0, 0, 2.0, 0.0, 4.0, 0.0, 3.0, 2.0, 0.0, 2.0, 2.0, 1.0, 3.0, - 1.0); expHull.put(0, 0, 0, 2, 3, 2, 4, 0, 2, 0); Imgproc.convexHull(points, dst, true, true); @@ -455,77 +414,73 @@ public class imgprocTest extends OpenCVTestCase { public void testCopyMakeBorderMatMatIntIntIntIntInt() { Mat src = new Mat(2, 2, CvType.CV_32F); - Mat out = new Mat(6, 6, CvType.CV_32F, new Scalar(1)); - int border = 2; - - src.put(0, 0, 1, 1); + src.put(0, 0, 1, 1); //TODO: use setTo src.put(1, 0, 1, 1); - - Imgproc.copyMakeBorder(src, dst, border, border, border, border, - Imgproc.BORDER_REPLICATE); - assertMatEqual(out, dst); + + truth = new Mat(6, 6, CvType.CV_32F, new Scalar(1)); + int border = 2; + + Imgproc.copyMakeBorder(src, dst, border, border, border, border, Imgproc.BORDER_REPLICATE); + assertMatEqual(truth, dst); } public void testCopyMakeBorderMatMatIntIntIntIntIntScalar() { Mat src = new Mat(2, 2, CvType.CV_32F); - Mat out = new Mat(6, 6, CvType.CV_32F, new Scalar(1)); + src.put(0, 0, 1, 1); //TODO: use setTo + src.put(1, 0, 1, 1); + + truth = new Mat(6, 6, CvType.CV_32F, new Scalar(1)); Scalar value = new Scalar(0); int border = 2; - src.put(0, 0, 1, 1); - src.put(1, 0, 1, 1); - - Imgproc.copyMakeBorder(src, dst, border, border, border, border, - Imgproc.BORDER_REPLICATE, value); - assertMatEqual(out, dst); + Imgproc.copyMakeBorder(src, dst, border, border, border, border, Imgproc.BORDER_REPLICATE, value); + assertMatEqual(truth, dst); } public void testCornerEigenValsAndVecsMatMatIntInt() { Mat src = new Mat(2, 2, CvType.CV_32FC1); - int blockSize = 3; - int ksize = 5; - src.put(0, 0, 1, 2); src.put(1, 0, 4, 2); + + int blockSize = 3; + int ksize = 5; - // TODO : eigen vals and vectors returned = 0 for most src matrices - Mat out = new Mat(2, 2, CvType.CV_32FC(6), new Scalar(0)); - + //TODO: eigen vals and vectors returned = 0 for most src matrices + truth = new Mat(2, 2, CvType.CV_32FC(6), new Scalar(0)); Imgproc.cornerEigenValsAndVecs(src, dst, blockSize, ksize); OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testCornerEigenValsAndVecsMatMatIntIntInt() { Mat src = new Mat(4, 4, CvType.CV_32FC1, new Scalar(128)); + int blockSize = 3; int ksize = 5; - Mat out = new Mat(4, 4, CvType.CV_32FC(6), new Scalar(0)); + truth = new Mat(4, 4, CvType.CV_32FC(6), new Scalar(0)); - Imgproc.cornerEigenValsAndVecs(src, dst, blockSize, ksize, - Imgproc.BORDER_REFLECT); + Imgproc.cornerEigenValsAndVecs(src, dst, blockSize, ksize, Imgproc.BORDER_REFLECT); OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testCornerHarrisMatMatIntIntDouble() { - Mat out = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); + truth = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); int blockSize = 5; int ksize = 7; double k = 0.1; Imgproc.cornerHarris(gray128, dst, blockSize, ksize, k); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testCornerHarrisMatMatIntIntDoubleInt() { - Mat out = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); + truth = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); int blockSize = 5; int ksize = 7; double k = 0.1; - Imgproc.cornerHarris(gray255, dst, blockSize, ksize, k, - Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + Imgproc.cornerHarris(gray255, dst, blockSize, ksize, k, Imgproc.BORDER_REFLECT); + assertMatEqual(truth, dst); } public void testCornerMinEigenValMatMatInt() { @@ -533,52 +488,51 @@ public class imgprocTest extends OpenCVTestCase { src.put(0, 0, 1, 2); src.put(1, 0, 2, 1); - Mat out = new Mat(2, 2, CvType.CV_32FC1, new Scalar(0)); int blockSize = 5; - + + truth = new Mat(2, 2, CvType.CV_32FC1, new Scalar(0)); Imgproc.cornerMinEigenVal(src, dst, blockSize); - assertMatEqual(out, dst); - - Mat out1 = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); + assertMatEqual(truth, dst); + Mat truth1 = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(0)); Imgproc.cornerMinEigenVal(gray255, dst, blockSize); - assertMatEqual(out1, dst); + assertMatEqual(truth1, dst); } public void testCornerMinEigenValMatMatIntInt() { Mat src = new Mat(3, 3, CvType.CV_32FC1); - src.put(0, 0, 1, 0, 0); + src.put(0, 0, 1, 0, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1, 0); src.put(2, 0, 0, 0, 1); - Mat out = new Mat(3, 3, CvType.CV_32FC1, new Scalar(0)); + truth = new Mat(3, 3, CvType.CV_32FC1, new Scalar(0)); int blockSize = 3; int ksize = 5; - out.put(0, 0, 0.055555549, 0.027777772, 0.055555549); - out.put(1, 0, 0.027777772, 0.055555549, 0.027777772); - out.put(2, 0, 0.055555549, 0.027777772, 0.055555549); + truth.put(0, 0, 0.055555549, 0.027777772, 0.055555549); + truth.put(1, 0, 0.027777772, 0.055555549, 0.027777772); + truth.put(2, 0, 0.055555549, 0.027777772, 0.055555549); Imgproc.cornerMinEigenVal(src, dst, blockSize, ksize); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testCornerMinEigenValMatMatIntIntInt() { Mat src = new Mat(3, 3, CvType.CV_32FC1); - src.put(0, 0, 1, 0, 0); + src.put(0, 0, 1, 0, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1, 0); src.put(2, 0, 0, 0, 1); - Mat out = new Mat(3, 3, CvType.CV_32FC1, new Scalar(0)); + truth = new Mat(3, 3, CvType.CV_32FC1, new Scalar(0)); int blockSize = 3; int ksize = 5; - out.put(0, 0, 0.68055558, 0.92708349, 0.5868057); - out.put(1, 0, 0.92708343, 0.92708343, 0.92708343); - out.put(2, 0, 0.58680564, 0.92708343, 0.68055564); + truth.put(0, 0, 0.68055558, 0.92708349, 0.5868057); + truth.put(1, 0, 0.92708343, 0.92708343, 0.92708343); + truth.put(2, 0, 0.58680564, 0.92708343, 0.68055564); Imgproc.cornerMinEigenVal(src, dst, blockSize, ksize, Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testCornerSubPix() { @@ -633,21 +587,18 @@ public class imgprocTest extends OpenCVTestCase { Point anchor = new Point(2, 2); Scalar value = new Scalar(0); - Imgproc.dilate(gray255, dst, kernel, anchor, 10, - Imgproc.BORDER_REFLECT, value); + Imgproc.dilate(gray255, dst, kernel, anchor, 10, Imgproc.BORDER_REFLECT, value); assertMatEqual(gray255, dst); } public void testDistanceTransform() { - Mat out = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(8192)); - Mat dstLables = new Mat(matSize, matSize, CvType.CV_32SC1, - new Scalar(0)); + truth = new Mat(matSize, matSize, CvType.CV_32FC1, new Scalar(8192)); + Mat dstLables = new Mat(matSize, matSize, CvType.CV_32SC1, new Scalar(0)); - Mat lables = new Mat(); - Imgproc.distanceTransform(gray128, dst, lables, Imgproc.CV_DIST_L2, 3); - - assertMatEqual(out, dst); - assertMatEqual(dstLables, lables); + Mat labels = new Mat(); + Imgproc.distanceTransform(gray128, dst, labels, Imgproc.CV_DIST_L2, 3); + assertMatEqual(truth, dst); + assertMatEqual(dstLables, labels); } public void testDrawContoursMatListOfMatIntScalar() { @@ -690,59 +641,59 @@ public class imgprocTest extends OpenCVTestCase { public void testErodeMatMatMatPoint() { Mat src = new Mat(3, 3, CvType.CV_8U); - Mat out = new Mat(3, 3, CvType.CV_8U, new Scalar(0.0)); - Point point = new Point(2, 2); - Mat kernel = new Mat(); - src.put(0, 0, 1, 4, 8); src.put(1, 0, 2, 0, 1); src.put(2, 0, 3, 4, 6); + + truth = new Mat(3, 3, CvType.CV_8U, new Scalar(0.0)); + Point point = new Point(2, 2); + Mat kernel = new Mat(); Imgproc.erode(src, dst, kernel, point); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testErodeMatMatMatPointInt() { Mat src = new Mat(3, 3, CvType.CV_8U); - Mat out = new Mat(3, 3, CvType.CV_8U, new Scalar(8.0)); - Mat kernel = new Mat(); - Point point = new Point(2, 2); - src.put(0, 0, 15, 9, 10); src.put(1, 0, 10, 8, 12); src.put(2, 0, 12, 20, 25); + + truth = new Mat(3, 3, CvType.CV_8U, new Scalar(8.0)); + Mat kernel = new Mat(); + Point point = new Point(2, 2); Imgproc.erode(src, dst, kernel, point, 10); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testErodeMatMatMatPointIntInt() { Mat src = new Mat(3, 3, CvType.CV_8U); - Mat out = new Mat(3, 3, CvType.CV_8U, new Scalar(8.0)); - Mat kernel = new Mat(); - Point point = new Point(2, 2); - src.put(0, 0, 15, 9, 10); src.put(1, 0, 10, 8, 12); src.put(2, 0, 12, 20, 25); + + truth = new Mat(3, 3, CvType.CV_8U, new Scalar(8.0)); + Mat kernel = new Mat(); + Point point = new Point(2, 2); Imgproc.erode(src, dst, kernel, point, 10, Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testErodeMatMatMatPointIntIntScalar() { Mat src = new Mat(3, 3, CvType.CV_8U); - Mat out = new Mat(3, 3, CvType.CV_8U, new Scalar(8.0)); - Mat kernel = new Mat(); - Point point = new Point(2, 2); - Scalar sc = new Scalar(3, 3); - src.put(0, 0, 15, 9, 10); src.put(1, 0, 10, 8, 12); src.put(2, 0, 12, 20, 25); + + truth = new Mat(3, 3, CvType.CV_8U, new Scalar(8.0)); + Mat kernel = new Mat(); + Point point = new Point(2, 2); + Scalar sc = new Scalar(3, 3); Imgproc.erode(src, dst, kernel, point, 10, Imgproc.BORDER_REFLECT, sc); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testFilter2DMatMatIntMat() { @@ -856,29 +807,29 @@ public class imgprocTest extends OpenCVTestCase { } public void testGetDefaultNewCameraMatrixMat() { - Mat out = new Mat(); + truth = new Mat(); - out = Imgproc.getDefaultNewCameraMatrix(gray0); - assertTrue(0 == Core.countNonZero(out)); - assertFalse(out.empty()); + truth = Imgproc.getDefaultNewCameraMatrix(gray0); + assertTrue(0 == Core.countNonZero(truth)); + assertFalse(truth.empty()); } public void testGetDefaultNewCameraMatrixMatSize() { - Mat out = new Mat(); + truth = new Mat(); Size size = new Size(3, 3); - out = Imgproc.getDefaultNewCameraMatrix(gray0, size); - assertTrue(0 == Core.countNonZero(out)); - assertFalse(out.empty()); + truth = Imgproc.getDefaultNewCameraMatrix(gray0, size); + assertTrue(0 == Core.countNonZero(truth)); + assertFalse(truth.empty()); } public void testGetDefaultNewCameraMatrixMatSizeBoolean() { - Mat out = new Mat(); + truth = new Mat(); Size size = new Size(3, 3); - out = Imgproc.getDefaultNewCameraMatrix(gray0, size, true); - assertTrue(0 != Core.countNonZero(out)); - assertFalse(out.empty()); + truth = Imgproc.getDefaultNewCameraMatrix(gray0, size, true); + assertTrue(0 != Core.countNonZero(truth)); + assertFalse(truth.empty()); } public void testGetDerivKernelsMatMatIntIntInt() { @@ -942,70 +893,68 @@ public class imgprocTest extends OpenCVTestCase { } public void testGetGaussianKernelIntDouble() { - Mat out = new Mat(1, 1, CvType.CV_64FC1, new Scalar(1.0)); + truth = new Mat(1, 1, CvType.CV_64FC1, new Scalar(1.0)); dst = Imgproc.getGaussianKernel(1, 0.5); - assertMatEqual(out, dst); - + assertMatEqual(truth, dst); } public void testGetGaussianKernelIntDoubleInt() { - Mat out = new Mat(3, 1, CvType.CV_32F); - out.put(0, 0, 0.23899426, 0.52201146, 0.23899426); + truth = new Mat(3, 1, CvType.CV_32F); + truth.put(0, 0, 0.23899426, 0.52201146, 0.23899426); dst = Imgproc.getGaussianKernel(3, 0.8, CvType.CV_32F); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testGetRectSubPixMatSizePointMat() { - Mat out = new Mat(3, 3, CvType.CV_8U, new Scalar(255)); + truth = new Mat(3, 3, CvType.CV_8U, new Scalar(255)); Size patchSize = new Size(3, 3); Point center = new Point(gray255.cols() / 2, gray255.rows() / 2); Imgproc.getRectSubPix(gray255, patchSize, center, dst); - assertMatEqual(out, dst); - + assertMatEqual(truth, dst); } public void testGetRectSubPixMatSizePointMatInt() { Mat src = new Mat(10, 10, CvType.CV_32F, new Scalar(2)); - Mat out = new Mat(5, 5, CvType.CV_32F, new Scalar(2)); + truth = new Mat(5, 5, CvType.CV_32F, new Scalar(2)); Size patchSize = new Size(5, 5); Point center = new Point(src.cols() / 2, src.rows() / 2); Imgproc.getRectSubPix(src, patchSize, center, dst); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testGetRotationMatrix2D() { - Mat out = new Mat(2, 3, CvType.CV_64F); - out.put(0, 0, 1, 0, 0); - out.put(1, 0, 0, 1, 0); + truth = new Mat(2, 3, CvType.CV_64F); + truth.put(0, 0, 1, 0, 0); + truth.put(1, 0, 0, 1, 0); Point center = new Point(0, 0); dst = Imgproc.getRotationMatrix2D(center, 0.0, 1.0); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testGetStructuringElementIntSize() { - Mat out = new Mat(3, 3, CvType.CV_8UC1, new Scalar(1.0)); + truth = new Mat(3, 3, CvType.CV_8UC1, new Scalar(1.0)); Size ksize = new Size(3, 3); dst = Imgproc.getStructuringElement(Imgproc.MORPH_RECT, ksize); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testGetStructuringElementIntSizePoint() { - Mat out = new Mat(3, 3, CvType.CV_8UC1); + truth = new Mat(3, 3, CvType.CV_8UC1); Size ksize = new Size(3, 3); Point point = new Point(2, 2); - out.put(0, 0, 0, 0, 1); - out.put(1, 0, 0, 0, 1); - out.put(2, 0, 1, 1, 1); + truth.put(0, 0, 0, 0, 1); + truth.put(1, 0, 0, 0, 1); + truth.put(2, 0, 1, 1, 1); dst = Imgproc.getStructuringElement(Imgproc.MORPH_CROSS, ksize, point); OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testGoodFeaturesToTrackMatMatIntDoubleDouble() { @@ -1123,13 +1072,13 @@ public class imgprocTest extends OpenCVTestCase { cameraMatrix.put(1, 0, 0, 1, 2); cameraMatrix.put(2, 0, 0, 0, 1); - out.put(0, 0, 0, 0, 0); - out.put(1, 0, 0, 0, 0); - out.put(2, 0, 0, 3, 0); + truth.put(0, 0, 0, 0, 0); + truth.put(1, 0, 0, 0, 0); + truth.put(2, 0, 0, 3, 0); distCoeffs.put(0, 0, 1.0, 3.0, 2.0, 4); // TODO: No documentation for this function - // Imgproc.initWideAngleProjMap(cameraMatrix, distCoeffs, imageSize, 5.0, m1type, output1, output2); + // Imgproc.initWideAngleProjMap(cameraMatrix, distCoeffs, imageSize, 5.0, m1type, truthput1, truthput2); fail("Not yet implemented"); } @@ -1241,38 +1190,38 @@ public class imgprocTest extends OpenCVTestCase { public void testIntegralMatMat() { Mat src = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); - Mat out = new Mat(3, 3, CvType.CV_64F); + truth = new Mat(3, 3, CvType.CV_64F); - out.put(0, 0, 0, 0, 0); - out.put(1, 0, 0, 2, 4); - out.put(2, 0, 0, 4, 8); + truth.put(0, 0, 0, 0, 0); + truth.put(1, 0, 0, 2, 4); + truth.put(2, 0, 0, 4, 8); Imgproc.integral(src, dst); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testIntegralMatMatInt() { Mat src = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); - Mat out = new Mat(3, 3, CvType.CV_64F); + truth = new Mat(3, 3, CvType.CV_64F); - out.put(0, 0, 0, 0, 0); - out.put(1, 0, 0, 2, 4); - out.put(2, 0, 0, 4, 8); + truth.put(0, 0, 0, 0, 0); + truth.put(1, 0, 0, 2, 4); + truth.put(2, 0, 0, 4, 8); Imgproc.integral(src, dst, CvType.CV_64F); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testInvertAffineTransform() { Mat src = new Mat(2, 3, CvType.CV_64F); - Mat out = new Mat(2, 3, CvType.CV_64F, new Scalar(0)); - - src.put(0, 0, 1, 1, 1); + src.put(0, 0, 1, 1, 1); //TODO: use setTo src.put(1, 0, 1, 1, 1); + + truth = new Mat(2, 3, CvType.CV_64F, new Scalar(0)); Imgproc.invertAffineTransform(src, dst); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testIsContourConvex() { @@ -1292,49 +1241,46 @@ public class imgprocTest extends OpenCVTestCase { public void testLaplacianMatMatIntInt() { Mat src = new Mat(3, 3, CvType.CV_32F, new Scalar(2.0)); - Mat out = new Mat(3, 3, CvType.CV_32F, new Scalar(0.0)); + truth = new Mat(3, 3, CvType.CV_32F, new Scalar(0.0)); + Imgproc.Laplacian(src, dst, CvType.CV_32F, 1); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testLaplacianMatMatIntIntDouble() { Mat src = new Mat(2, 2, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); - - src.put(0, 0, 1, 0); + src.put(0, 0, 1, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1); + + truth = new Mat(2, 2, CvType.CV_32F); - out.put(0, 0, -8, 8); - out.put(1, 0, 8, -8); + truth.put(0, 0, -8, 8); + truth.put(1, 0, 8, -8); Imgproc.Laplacian(src, dst, CvType.CV_32F, 1, 2.0); - OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); - + assertMatEqual(truth, dst); } public void testLaplacianMatMatIntIntDoubleDouble() { Mat src = new Mat(2, 2, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); + truth = new Mat(2, 2, CvType.CV_32F); double delta = 0.0; - src.put(0, 0, 1, 0); + src.put(0, 0, 1, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1); - out.put(0, 0, -8, 8); - out.put(1, 0, 8, -8); + truth.put(0, 0, -8, 8); + truth.put(1, 0, 8, -8); Imgproc.Laplacian(src, dst, CvType.CV_32F, 1, 2.0, delta); - OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testLaplacianMatMatIntIntDoubleDoubleInt() { Mat src = new Mat(3, 3, CvType.CV_32F, new Scalar(2.0)); - Mat out = new Mat(3, 3, CvType.CV_32F, new Scalar(0.0)); + truth = new Mat(3, 3, CvType.CV_32F, new Scalar(0.0)); double delta = 0.0; - Imgproc.Laplacian(src, dst, CvType.CV_32F, 1, 2.0, delta, - Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + Imgproc.Laplacian(src, dst, CvType.CV_32F, 1, 2.0, delta, Imgproc.BORDER_REFLECT); + assertMatEqual(truth, dst); } public void testMatchShapes() { @@ -1376,8 +1322,9 @@ public class imgprocTest extends OpenCVTestCase { public void testMinAreaRect() { Mat points = new Mat(1, 4, CvType.CV_32FC2); points.put(0, 0, 1.0, 1.0, 5.0, 1.0, 4.0, 3.0, 6.0, 2.0); - RotatedRect rotatedDst = new RotatedRect(); - rotatedDst = Imgproc.minAreaRect(points); + + RotatedRect rrect = Imgproc.minAreaRect(points); + OpenCVTestRunner.Log(rrect.toString()); // TODO - how to test rotated rectangle fail("Not yet implemented"); } @@ -1389,7 +1336,7 @@ public class imgprocTest extends OpenCVTestCase { float radius = 0.0f; // float expectedRadius = 1.0f; points.put(0, 0, -1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, -1.0); - // TODO : Unexpected radius is returned i.e 0 + //TODO: Unexpected radius is returned i.e 0 Imgproc.minEnclosingCircle(points, actualCenter, radius); assertEquals(expCenter, actualCenter); // assertEquals(expectedRadius, radius); @@ -1411,74 +1358,71 @@ public class imgprocTest extends OpenCVTestCase { public void testMorphologyExMatMatIntMatPoint() { Mat src = new Mat(2, 2, CvType.CV_8U); + src.put(0, 0, 1, 0); //TODO: use Mat.eye + src.put(1, 0, 0, 1); + Mat kernel = new Mat(2, 2, CvType.CV_8U, new Scalar(0)); - Mat out = new Mat(2, 2, CvType.CV_8U); Point point = new Point(0, 0); - - src.put(0, 0, 1, 0); - src.put(1, 0, 0, 1); - - out.put(0, 0, 1, 0); - out.put(1, 0, 0, 1); + + truth = new Mat(2, 2, CvType.CV_8U); + truth.put(0, 0, 1, 0); //TODO: use Mat.eye + truth.put(1, 0, 0, 1); Imgproc.morphologyEx(src, dst, Imgproc.MORPH_OPEN, kernel, point); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testMorphologyExMatMatIntMatPointInt() { Mat src = new Mat(2, 2, CvType.CV_8U); + src.put(0, 0, 1, 0); //TODO: use Mat.eye + src.put(1, 0, 0, 1); + Mat kernel = new Mat(2, 2, CvType.CV_8U, new Scalar(0)); - Mat out = new Mat(2, 2, CvType.CV_8U); Point point = new Point(0, 0); - - src.put(0, 0, 1, 0); - src.put(1, 0, 0, 1); - - out.put(0, 0, 1, 0); - out.put(1, 0, 0, 1); + + truth = new Mat(2, 2, CvType.CV_8U); + truth.put(0, 0, 1, 0); //TODO: use Mat.eye + truth.put(1, 0, 0, 1); Imgproc.morphologyEx(src, dst, Imgproc.MORPH_CLOSE, kernel, point, 10); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testMorphologyExMatMatIntMatPointIntInt() { Mat src = new Mat(2, 2, CvType.CV_8U); - Mat kernel = new Mat(2, 2, CvType.CV_8U, new Scalar(1)); - Mat out = new Mat(2, 2, CvType.CV_8U); - Point point = new Point(1, 1); - src.put(0, 0, 2, 1); src.put(1, 0, 2, 1); + + Mat kernel = new Mat(2, 2, CvType.CV_8U, new Scalar(1)); + Point point = new Point(1, 1); + + truth = new Mat(2, 2, CvType.CV_8U); + truth.put(0, 0, 1, 0); + truth.put(1, 0, 1, 0); - out.put(0, 0, 1, 0); - out.put(1, 0, 1, 0); - - Imgproc.morphologyEx(src, dst, Imgproc.MORPH_TOPHAT, kernel, point, 10, - Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + Imgproc.morphologyEx(src, dst, Imgproc.MORPH_TOPHAT, kernel, point, 10, Imgproc.BORDER_REFLECT); + assertMatEqual(truth, dst); } public void testMorphologyExMatMatIntMatPointIntIntScalar() { Mat src = new Mat(2, 2, CvType.CV_8U); + src.put(0, 0, 2, 1); + src.put(1, 0, 2, 1); + Mat kernel = new Mat(2, 2, CvType.CV_8U, new Scalar(1)); - Mat out = new Mat(2, 2, CvType.CV_8U); Point point = new Point(1, 1); Scalar sc = new Scalar(3, 3); + + truth = new Mat(2, 2, CvType.CV_8U); + truth.put(0, 0, 1, 0); + truth.put(1, 0, 1, 0); - src.put(0, 0, 2, 1); - src.put(1, 0, 2, 1); - - out.put(0, 0, 1, 0); - out.put(1, 0, 1, 0); - - Imgproc.morphologyEx(src, dst, Imgproc.MORPH_TOPHAT, kernel, point, 10, - Imgproc.BORDER_REFLECT, sc); - assertMatEqual(out, dst); + Imgproc.morphologyEx(src, dst, Imgproc.MORPH_TOPHAT, kernel, point, 10, Imgproc.BORDER_REFLECT, sc); + assertMatEqual(truth, dst); } public void testPointPolygonTest() { Mat contour1 = new Mat(1, 5, CvType.CV_32FC2); - contour1.put(0, 0, 0.0, 0.0, 1.0, 3.0, 3.0, 4.0, 4.0, 3.0, 2.0, 1.0); Point pt1 = new Point(contour1.cols() / 2, contour1.rows() / 2); @@ -1495,43 +1439,41 @@ public class imgprocTest extends OpenCVTestCase { public void testPreCornerDetectMatMatInt() { Mat src = new Mat(4, 4, CvType.CV_32F, new Scalar(1)); - Mat out = new Mat(4, 4, CvType.CV_32F, new Scalar(0)); + truth = new Mat(4, 4, CvType.CV_32F, new Scalar(0)); int ksize = 3; Imgproc.preCornerDetect(src, dst, ksize); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testPreCornerDetectMatMatIntInt() { Mat src = new Mat(4, 4, CvType.CV_32F, new Scalar(1)); - Mat out = new Mat(4, 4, CvType.CV_32F, new Scalar(0)); + truth = new Mat(4, 4, CvType.CV_32F, new Scalar(0)); int ksize = 3; Imgproc.preCornerDetect(src, dst, ksize, Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testPyrDownMatMat() { Mat src = new Mat(4, 4, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); + truth = new Mat(2, 2, CvType.CV_32F); src.put(0, 0, 2, 1, 4, 2); src.put(1, 0, 3, 2, 6, 8); src.put(2, 0, 4, 6, 8, 10); src.put(3, 0, 12, 32, 6, 18); - out.put(0, 0, 2.78125, 4.609375); - out.put(1, 0, 8.546875, 8.8515625); + truth.put(0, 0, 2.78125, 4.609375); + truth.put(1, 0, 8.546875, 8.8515625); Imgproc.pyrDown(src, dst); - ; - assertMatEqual(out, dst); - + assertMatEqual(truth, dst); } public void testPyrDownMatMatSize() { Mat src = new Mat(4, 4, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); + truth = new Mat(2, 2, CvType.CV_32F); Size dstSize = new Size(2, 2); src.put(0, 0, 2, 1, 4, 2); @@ -1539,11 +1481,11 @@ public class imgprocTest extends OpenCVTestCase { src.put(2, 0, 4, 6, 8, 10); src.put(3, 0, 12, 32, 6, 18); - out.put(0, 0, 2.78125, 4.609375); - out.put(1, 0, 8.546875, 8.8515625); + truth.put(0, 0, 2.78125, 4.609375); + truth.put(1, 0, 8.546875, 8.8515625); Imgproc.pyrDown(src, dst, dstSize); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testPyrMeanShiftFilteringMatMatDoubleDouble() { @@ -1562,219 +1504,214 @@ public class imgprocTest extends OpenCVTestCase { public void testPyrUpMatMat() { Mat src = new Mat(2, 2, CvType.CV_32F); - Mat out = new Mat(4, 4, CvType.CV_32F); - src.put(0, 0, 2, 1); src.put(1, 0, 3, 2); - - out.put(0, 0, 2, 1.75, 1.375, 1.25); - out.put(1, 0, 2.25, 2, 1.625, 1.5); - out.put(2, 0, 2.5, 2.25, 1.875, 1.75); - out.put(3, 0, 2.25, 2, 1.625, 1.5); + + truth = new Mat(4, 4, CvType.CV_32F); + truth.put(0, 0, 2, 1.75, 1.375, 1.25); + truth.put(1, 0, 2.25, 2, 1.625, 1.5); + truth.put(2, 0, 2.5, 2.25, 1.875, 1.75); + truth.put(3, 0, 2.25, 2, 1.625, 1.5); Imgproc.pyrUp(src, dst); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testPyrUpMatMatSize() { Mat src = new Mat(2, 2, CvType.CV_32F); - Mat out = new Mat(4, 4, CvType.CV_32F); - Size dstSize = new Size(4, 4); - src.put(0, 0, 2, 1); src.put(1, 0, 3, 2); - - out.put(0, 0, 2, 1.75, 1.375, 1.25); - out.put(1, 0, 2.25, 2, 1.625, 1.5); - out.put(2, 0, 2.5, 2.25, 1.875, 1.75); - out.put(3, 0, 2.25, 2, 1.625, 1.5); + + Size dstSize = new Size(4, 4); + truth = new Mat(4, 4, CvType.CV_32F); + truth.put(0, 0, 2, 1.75, 1.375, 1.25); + truth.put(1, 0, 2.25, 2, 1.625, 1.5); + truth.put(2, 0, 2.5, 2.25, 1.875, 1.75); + truth.put(3, 0, 2.25, 2, 1.625, 1.5); Imgproc.pyrUp(src, dst, dstSize); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testRemapMatMatMatMatInt() { Mat src = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); Mat map1 = new Mat(1, 3, CvType.CV_32FC1); Mat map2 = new Mat(1, 3, CvType.CV_32FC1); - Mat out = new Mat(1, 3, CvType.CV_32F, new Scalar(0)); map1.put(0, 0, 3.0, 6.0, 5, 0); map2.put(0, 0, 4.0, 8.0, 12.0); + + truth = new Mat(1, 3, CvType.CV_32F, new Scalar(0)); Imgproc.remap(src, dst, map1, map2, Imgproc.INTER_LINEAR); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testRemapMatMatMatMatIntInt() { Mat src = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); Mat map1 = new Mat(1, 3, CvType.CV_32FC1); Mat map2 = new Mat(1, 3, CvType.CV_32FC1); - Mat out = new Mat(1, 3, CvType.CV_32F, new Scalar(2)); map1.put(0, 0, 3.0, 6.0, 5, 0); map2.put(0, 0, 4.0, 8.0, 12.0); + + truth = new Mat(1, 3, CvType.CV_32F, new Scalar(2)); - Imgproc.remap(src, dst, map1, map2, Imgproc.INTER_LINEAR, - Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + Imgproc.remap(src, dst, map1, map2, Imgproc.INTER_LINEAR, Imgproc.BORDER_REFLECT); + assertMatEqual(truth, dst); } public void testRemapMatMatMatMatIntIntScalar() { Mat src = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); Mat map1 = new Mat(1, 3, CvType.CV_32FC1); Mat map2 = new Mat(1, 3, CvType.CV_32FC1); - Mat out = new Mat(1, 3, CvType.CV_32F, new Scalar(2)); + Scalar sc = new Scalar(0.0); map1.put(0, 0, 3.0, 6.0, 5, 0); map2.put(0, 0, 4.0, 8.0, 12.0); + + truth = new Mat(1, 3, CvType.CV_32F, new Scalar(2)); - Imgproc.remap(src, dst, map1, map2, Imgproc.INTER_LINEAR, - Imgproc.BORDER_REFLECT, sc); - assertMatEqual(out, dst); + Imgproc.remap(src, dst, map1, map2, Imgproc.INTER_LINEAR, Imgproc.BORDER_REFLECT, sc); + assertMatEqual(truth, dst); } public void testResizeMatMatSize() { Mat src = new Mat(2, 2, CvType.CV_8UC1, new Scalar(1.0)); - Mat out = new Mat(1, 1, CvType.CV_8UC1, new Scalar(1.0)); + truth = new Mat(1, 1, CvType.CV_8UC1, new Scalar(1.0)); Size dsize = new Size(1, 1); Imgproc.resize(src, dst, dsize); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testResizeMatMatSizeDouble() { Size dsize = new Size(2, 2); - Mat out = new Mat(2, 2, CvType.CV_8UC1, new Scalar(255)); + truth = new Mat(2, 2, CvType.CV_8UC1, new Scalar(255)); Imgproc.resize(gray255, dst, dsize, 0.5); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testResizeMatMatSizeDoubleDouble() { Size dsize = new Size(2, 2); - Mat out = new Mat(2, 2, CvType.CV_8UC1, new Scalar(255)); + truth = new Mat(2, 2, CvType.CV_8UC1, new Scalar(255)); Imgproc.resize(gray255, dst, dsize, 0.0, 0.0); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testResizeMatMatSizeDoubleDoubleInt() { Size dsize = new Size(2, 2); - Mat out = new Mat(2, 2, CvType.CV_8UC1, new Scalar(255)); + truth = new Mat(2, 2, CvType.CV_8UC1, new Scalar(255)); Imgproc.resize(gray255, dst, dsize, 1.5, 1.5, Imgproc.INTER_AREA); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testScharrMatMatIntIntInt() { Mat src = new Mat(2, 2, CvType.CV_32F); - src.put(0, 0, 1, 0); + src.put(0, 0, 1, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(0)); - + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(0)); Imgproc.Scharr(src, dst, CvType.CV_32F, 1, 0); - assertMatEqual(out, dst); - + assertMatEqual(truth, dst); } public void testScharrMatMatIntIntIntDouble() { Mat src = new Mat(2, 2, CvType.CV_32F); - src.put(0, 0, 1, 0); + src.put(0, 0, 1, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(0)); - + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(0)); Imgproc.Scharr(src, dst, CvType.CV_32F, 0, 1, 1.5); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testScharrMatMatIntIntIntDoubleDouble() { Mat src = new Mat(2, 2, CvType.CV_32F); - src.put(0, 0, 1, 0); + src.put(0, 0, 1, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(0.001)); - + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(0.001)); Imgproc.Scharr(src, dst, CvType.CV_32F, 1, 0, 1.5, 0.001); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testScharrMatMatIntIntIntDoubleDoubleInt() { Mat src = new Mat(3, 3, CvType.CV_32F); - src.put(0, 0, 1, 0, 0); + src.put(0, 0, 1, 0, 0); //TODO: use Mat.eye src.put(1, 0, 0, 1, 0); src.put(2, 0, 0, 0, 1); - Mat out = new Mat(3, 3, CvType.CV_32F); - out.put(0, 0, -15, -19.5, -4.5); - out.put(1, 0, 10.5, 0, -10.5); - out.put(2, 0, 4.5, 19.5, 15); - - Imgproc.Scharr(src, dst, CvType.CV_32F, 1, 0, 1.5, 0.0, - Imgproc.BORDER_REFLECT); + truth = new Mat(3, 3, CvType.CV_32F); + truth.put(0, 0, -15, -19.5, -4.5); + truth.put(1, 0, 10.5, 0, -10.5); + truth.put(2, 0, 4.5, 19.5, 15); + Imgproc.Scharr(src, dst, CvType.CV_32F, 1, 0, 1.5, 0.0, Imgproc.BORDER_REFLECT); + fail("Not yet implemented"); } public void testSepFilter2DMatMatIntMatMat() { Mat src = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); Mat kernelX = new Mat(1, 3, CvType.CV_32FC1); Mat kernelY = new Mat(1, 3, CvType.CV_32FC1); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(420)); + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(420)); kernelX.put(0, 0, 4.0, 3.0, 7.0); kernelY.put(0, 0, 9.0, 4.0, 2.0); Imgproc.sepFilter2D(src, dst, CvType.CV_32F, kernelX, kernelY); OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testSepFilter2DMatMatIntMatMatPoint() { Mat src = new Mat(2, 2, CvType.CV_32FC1, new Scalar(2.0)); Mat kernelX = new Mat(1, 3, CvType.CV_32FC1); Mat kernelY = new Mat(1, 3, CvType.CV_32FC1); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(36.0)); + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(36.0)); Point point = new Point(2, 2); kernelX.put(0, 0, 2.0, 2.0, 2.0); kernelY.put(0, 0, 1.0, 1.0, 1.0); Imgproc.sepFilter2D(src, dst, CvType.CV_32F, kernelX, kernelY, point); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testSepFilter2DMatMatIntMatMatPointDouble() { Mat src = new Mat(2, 2, CvType.CV_32FC1, new Scalar(2.0)); Mat kernelX = new Mat(1, 3, CvType.CV_32FC1); Mat kernelY = new Mat(1, 3, CvType.CV_32FC1); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(36.001)); + Point point = new Point(2, 2); double delta = 0.001; kernelX.put(0, 0, 2.0, 2.0, 2.0); kernelY.put(0, 0, 1.0, 1.0, 1.0); - Imgproc.sepFilter2D(src, dst, CvType.CV_32F, kernelX, kernelY, point, - delta); - assertMatEqual(out, dst); + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(36.001)); + Imgproc.sepFilter2D(src, dst, CvType.CV_32F, kernelX, kernelY, point, delta); + assertMatEqual(truth, dst); } public void testSepFilter2DMatMatIntMatMatPointDoubleInt() { Mat kernelX = new Mat(1, 3, CvType.CV_32FC1); Mat kernelY = new Mat(1, 3, CvType.CV_32FC1); - Mat out = new Mat(10, 10, CvType.CV_32F, new Scalar(0.001)); + Point point = new Point(2, 2); double delta = 0.001; kernelX.put(0, 0, 2.0, 2.0, 2.0); kernelY.put(0, 0, 1.0, 1.0, 1.0); - Imgproc.sepFilter2D(gray0, dst, CvType.CV_32F, kernelX, kernelY, point, - delta, Imgproc.BORDER_REFLECT); - assertMatEqual(out, dst); + truth = new Mat(10, 10, CvType.CV_32F, new Scalar(0.001)); + Imgproc.sepFilter2D(gray0, dst, CvType.CV_32F, kernelX, kernelY, point, delta, Imgproc.BORDER_REFLECT); + assertMatEqual(truth, dst); } public void testSobelMatMatIntIntInt() { @@ -1793,13 +1730,13 @@ public class imgprocTest extends OpenCVTestCase { src.put(1, 0, 3, 0, -10); src.put(2, 0, -4, 0, 3); - Mat out = new Mat(3, 3, CvType.CV_32F); - out.put(0, 0, 0, -56, 0); - out.put(1, 0, 0, -40, 0); - out.put(2, 0, 0, -24, 0); + truth = new Mat(3, 3, CvType.CV_32F); + truth.put(0, 0, 0, -56, 0); + truth.put(1, 0, 0, -40, 0); + truth.put(2, 0, 0, -24, 0); Imgproc.Sobel(src, dst, CvType.CV_32F, 1, 0, 3, 2.0); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } @@ -1814,14 +1751,13 @@ public class imgprocTest extends OpenCVTestCase { src.put(1, 0, 6, 4, 3); src.put(2, 0, 1, 0, 2); - Mat out = new Mat(3, 3, CvType.CV_32F); - out.put(0, 0, -16, -12, 4); - out.put(1, 0, -14, -12, 2); - out.put(2, 0, -10, 0, 10); + truth = new Mat(3, 3, CvType.CV_32F); + truth.put(0, 0, -16, -12, 4); + truth.put(1, 0, -14, -12, 2); + truth.put(2, 0, -10, 0, 10); - Imgproc.Sobel(src, dst, CvType.CV_32F, 1, 0, 3, 2.0, 0.0, - Imgproc.BORDER_REPLICATE); - assertMatEqual(out, dst); + Imgproc.Sobel(src, dst, CvType.CV_32F, 1, 0, 3, 2.0, 0.0, Imgproc.BORDER_REPLICATE); + assertMatEqual(truth, dst); } public void testThreshold() { @@ -1837,7 +1773,7 @@ public class imgprocTest extends OpenCVTestCase { public void testUndistortMatMatMatMat() { Mat src = new Mat(3, 3, CvType.CV_32F, new Scalar(3.0)); - Mat out = new Mat(3, 3, CvType.CV_32F); + truth = new Mat(3, 3, CvType.CV_32F); Mat cameraMatrix = new Mat(3, 3, CvType.CV_32F); Mat distCoeffs = new Mat(1, 4, CvType.CV_32F); @@ -1845,19 +1781,19 @@ public class imgprocTest extends OpenCVTestCase { cameraMatrix.put(1, 0, 0, 1, 2); cameraMatrix.put(2, 0, 0, 0, 1); - out.put(0, 0, 0, 0, 0); - out.put(1, 0, 0, 0, 0); - out.put(2, 0, 0, 3, 0); - distCoeffs.put(0, 0, 1.0, 3.0, 2.0, 4.0); + + truth.put(0, 0, 0, 0, 0); + truth.put(1, 0, 0, 0, 0); + truth.put(2, 0, 0, 3, 0); Imgproc.undistort(src, dst, cameraMatrix, distCoeffs); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testUndistortMatMatMatMatMat() { Mat src = new Mat(3, 3, CvType.CV_32F, new Scalar(3.0)); - Mat out = new Mat(3, 3, CvType.CV_32F, new Scalar(3.0)); + Mat cameraMatrix = new Mat(3, 3, CvType.CV_32F); Mat newCameraMatrix = new Mat(3, 3, CvType.CV_32F); Mat distCoeffs = new Mat(1, 4, CvType.CV_32F); @@ -1868,13 +1804,13 @@ public class imgprocTest extends OpenCVTestCase { distCoeffs.put(0, 0, 1.0, 4.0, 0.0, 5.0); + truth = new Mat(3, 3, CvType.CV_32F, new Scalar(3.0)); Imgproc.undistort(src, dst, cameraMatrix, distCoeffs, newCameraMatrix); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testWarpAffineMatMatMatSize() { Mat src = new Mat(3, 3, CvType.CV_32F); - Mat out = new Mat(3, 3, CvType.CV_32F); Size dsize = new Size(3, 3); Mat M = new Mat(2, 3, CvType.CV_32F); @@ -1882,20 +1818,20 @@ public class imgprocTest extends OpenCVTestCase { src.put(1, 0, 6, 4, 3); src.put(2, 0, 1, 0, 2); - out.put(0, 0, 0, 0, 0); - out.put(1, 0, 0, 2, 0); - out.put(2, 0, 0, 6, 4); + truth.put(0, 0, 0, 0, 0); + truth.put(1, 0, 0, 2, 0); + truth.put(2, 0, 0, 6, 4); M.put(0, 0, 1, 0, 1); M.put(1, 0, 0, 1, 1); + truth = new Mat(3, 3, CvType.CV_32F); Imgproc.warpAffine(src, dst, M, dsize); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testWarpAffineMatMatMatSizeInt() { Mat src = new Mat(3, 3, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); Size dsize = new Size(2, 2); Mat M = new Mat(2, 3, CvType.CV_32F); @@ -1903,20 +1839,21 @@ public class imgprocTest extends OpenCVTestCase { src.put(1, 0, 6, 4, 3); src.put(2, 0, 0, 2, 2); - out.put(0, 0, 6, 4); - out.put(1, 0, 6, 4); + truth.put(0, 0, 6, 4); + truth.put(1, 0, 6, 4); M.put(0, 0, 1, 0, 0); M.put(1, 0, 0, 0, 1); + truth = new Mat(2, 2, CvType.CV_32F); Imgproc.warpAffine(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP); OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testWarpAffineMatMatMatSizeIntInt() { Mat src = new Mat(3, 3, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); + Size dsize = new Size(2, 2); Mat M = new Mat(2, 3, CvType.CV_32F); @@ -1924,20 +1861,20 @@ public class imgprocTest extends OpenCVTestCase { src.put(1, 0, 6, 4, 3); src.put(2, 0, 0, 2, 2); - out.put(0, 0, 6, 4); - out.put(1, 0, 6, 4); - M.put(0, 0, 1, 0, 0); M.put(1, 0, 0, 0, 1); + + truth = new Mat(2, 2, CvType.CV_32F); + truth.put(0, 0, 6, 4); + truth.put(1, 0, 6, 4); - Imgproc.warpAffine(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP, - Imgproc.BORDER_TRANSPARENT); - assertMatEqual(out, dst); + Imgproc.warpAffine(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP, Imgproc.BORDER_TRANSPARENT); + assertMatEqual(truth, dst); } public void testWarpAffineMatMatMatSizeIntIntScalar() { Mat src = new Mat(3, 3, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); + Size dsize = new Size(2, 2); Mat M = new Mat(2, 3, CvType.CV_32F); Scalar sc = new Scalar(1.0); @@ -1946,15 +1883,15 @@ public class imgprocTest extends OpenCVTestCase { src.put(1, 0, 6, 4, 3); src.put(2, 0, 0, 2, 2); - out.put(0, 0, 6, 4); - out.put(1, 0, 6, 4); - M.put(0, 0, 1, 0, 0); M.put(1, 0, 0, 0, 1); + + truth = new Mat(2, 2, CvType.CV_32F); + truth.put(0, 0, 6, 4); + truth.put(1, 0, 6, 4); - Imgproc.warpAffine(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP, - Imgproc.BORDER_CONSTANT, sc); - assertMatEqual(out, dst); + Imgproc.warpAffine(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP, Imgproc.BORDER_CONSTANT, sc); + assertMatEqual(truth, dst); } public void testWarpPerspectiveMatMatMatSize() { @@ -1981,58 +1918,56 @@ public class imgprocTest extends OpenCVTestCase { public void testWarpPerspectiveMatMatMatSizeInt() { Mat src = new Mat(3, 3, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); - Size dsize = new Size(2, 2); - Mat M = new Mat(3, 3, CvType.CV_32F); - src.put(0, 0, 2, 4, 1); src.put(1, 0, 6, 4, 3); src.put(2, 0, 0, 2, 2); - + + Size dsize = new Size(2, 2); + Mat M = new Mat(3, 3, CvType.CV_32F); M.put(0, 0, 1, 0, 0); M.put(1, 0, 0, 0, 1); + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); Imgproc.warpPerspective(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testWarpPerspectiveMatMatMatSizeIntInt() { Mat src = new Mat(3, 3, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F); - Size dsize = new Size(2, 2); - Mat M = new Mat(3, 3, CvType.CV_32F); - src.put(0, 0, 2, 4, 1); src.put(1, 0, 6, 4, 3); src.put(2, 0, 0, 2, 2); - + + Size dsize = new Size(2, 2); + Mat M = new Mat(3, 3, CvType.CV_32F); M.put(0, 0, 1, 0, 0); M.put(1, 0, 0, 0, 1); - out.put(0, 0, 6, 2); - out.put(1, 0, 2, 2); + truth = new Mat(2, 2, CvType.CV_32F); + truth.put(0, 0, 6, 2); + truth.put(1, 0, 2, 2); Imgproc.warpPerspective(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP, Imgproc.BORDER_REFLECT); OpenCVTestRunner.Log(dst.dump()); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testWarpPerspectiveMatMatMatSizeIntIntScalar() { Mat src = new Mat(3, 3, CvType.CV_32F); - Mat out = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); - Size dsize = new Size(2, 2); - Mat M = new Mat(3, 3, CvType.CV_32F); - Scalar sc = new Scalar(1.0); - src.put(0, 0, 2, 4, 1); src.put(1, 0, 6, 4, 3); src.put(2, 0, 0, 2, 2); + + Size dsize = new Size(2, 2); + Mat M = new Mat(3, 3, CvType.CV_32F); + Scalar sc = new Scalar(1.0); M.put(0, 0, 1, 0, 0); M.put(1, 0, 0, 0, 1); + truth = new Mat(2, 2, CvType.CV_32F, new Scalar(2.0)); Imgproc.warpPerspective(src, dst, M, dsize, Imgproc.WARP_INVERSE_MAP, Imgproc.BORDER_REFLECT, sc); - assertMatEqual(out, dst); + assertMatEqual(truth, dst); } public void testWatershed() {