From cd8dfd6c5d68a5df7f10f99a3ab832ccb64a8bb4 Mon Sep 17 00:00:00 2001 From: Andrey Pavlenko Date: Wed, 4 Apr 2012 14:49:56 +0000 Subject: [PATCH] Java API: fixing Calib3d tests --- .../src/org/opencv/test/calib3d/Calib3dTest.java | 40 ++++++++++++---------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/modules/java/android_test/src/org/opencv/test/calib3d/Calib3dTest.java b/modules/java/android_test/src/org/opencv/test/calib3d/Calib3dTest.java index 9c917be..06262b7 100644 --- a/modules/java/android_test/src/org/opencv/test/calib3d/Calib3dTest.java +++ b/modules/java/android_test/src/org/opencv/test/calib3d/Calib3dTest.java @@ -1,14 +1,12 @@ package org.opencv.test.calib3d; -import java.util.ArrayList; -import java.util.List; - import org.opencv.calib3d.Calib3d; import org.opencv.core.Core; import org.opencv.core.CvType; +import org.opencv.core.CvVectorPoint2f; +import org.opencv.core.CvVectorPoint3f; import org.opencv.core.Mat; import org.opencv.core.Point; -import org.opencv.core.Point3; import org.opencv.core.Scalar; import org.opencv.core.Size; import org.opencv.test.OpenCVTestCase; @@ -235,15 +233,16 @@ public class Calib3dTest extends OpenCVTestCase { } public void testFindFundamentalMatListOfPointListOfPoint() { - List pts1 = new ArrayList(); - List pts2 = new ArrayList(); - int minFundamentalMatPoints = 8; + + CvVectorPoint2f pts1 = new CvVectorPoint2f(); + CvVectorPoint2f pts2 = new CvVectorPoint2f(minFundamentalMatPoints); + for (int i = 0; i < minFundamentalMatPoints; i++) { double x = Math.random() * 100 - 50; double y = Math.random() * 100 - 50; - pts1.add(new Point(x, y)); - pts2.add(new Point(x, y)); + pts1.push_back(new CvVectorPoint2f(new Point(x, y))); //add(new Point(x, y)); + pts2.put(i, 0, x, y); //add(new Point(x, y)); } Mat fm = Calib3d.findFundamentalMat(pts1, pts2); @@ -270,14 +269,16 @@ public class Calib3dTest extends OpenCVTestCase { } public void testFindHomographyListOfPointListOfPoint() { - List originalPoints = new ArrayList(); - List transformedPoints = new ArrayList(); + final int NUM = 20; + + CvVectorPoint2f originalPoints = new CvVectorPoint2f(NUM); + CvVectorPoint2f transformedPoints = new CvVectorPoint2f(NUM); - for (int i = 0; i < 20; i++) { + for (int i = 0; i < NUM; i++) { double x = Math.random() * 100 - 50; double y = Math.random() * 100 - 50; - originalPoints.add(new Point(x, y)); - transformedPoints.add(new Point(y, x)); + originalPoints.put(i, 0, x, y); //add(new Point(x, y)); + transformedPoints.put(i, 0, x, y); //add(new Point(y, x)); } Mat hmg = Calib3d.findHomography(originalPoints, transformedPoints); @@ -497,15 +498,16 @@ public class Calib3dTest extends OpenCVTestCase { intrinsics.put(0, 2, 640 / 2); intrinsics.put(1, 2, 480 / 2); - List points3d = new ArrayList(); - List points2d = new ArrayList(); - int minPnpPointsNum = 4; + final int minPnpPointsNum = 4; + + CvVectorPoint3f points3d = new CvVectorPoint3f(minPnpPointsNum); + CvVectorPoint2f points2d = new CvVectorPoint2f(minPnpPointsNum); for (int i = 0; i < minPnpPointsNum; i++) { double x = Math.random() * 100 - 50; double y = Math.random() * 100 - 50; - points2d.add(new Point(x, y)); - points3d.add(new Point3(0, y, x)); + points2d.put(i, 0, x, y); //add(new Point(x, y)); + points3d.put(i, 0, 0, y, x); // add(new Point3(0, y, x)); } Mat rvec = new Mat(); -- 2.7.4