Java API minor fixes

pull/13383/head
Andrey Pavlenko 13 years ago
parent a97c2c838c
commit 1b2525703e
  1. 36
      modules/java/android_test/src/org/opencv/test/core/CoreTest.java
  2. 24
      modules/java/android_test/src/org/opencv/test/imgproc/ImgprocTest.java
  3. 4
      modules/java/gen_java.py
  4. 16
      modules/java/src/java/utils+Converters.java

@ -1190,23 +1190,18 @@ public class CoreTest extends OpenCVTestCase {
} }
public void testMeanStdDevMatMatMat() { public void testMeanStdDevMatMatMat() {
Mat mean = new Mat(); List<Double> mean = new ArrayList<Double>();
Mat stddev = new Mat(); List<Double> stddev = new ArrayList<Double>();
Core.meanStdDev(rgbLena, mean, stddev); Core.meanStdDev(rgbLena, mean, stddev);
Mat expectedMean = new Mat(3, 1, CvType.CV_64F) { List<Double> expectedMean = Arrays.asList( new Double[]
{ {105.3989906311035, 99.56269836425781, 179.7303047180176} );
put(0, 0, 105.3989906311035, 99.56269836425781, 179.7303047180176); List<Double> expectedDev = Arrays.asList( new Double[]
} {33.74205485167219, 52.8734582803278, 49.01569488056406} );
};
Mat expectedDev = new Mat(3, 1, CvType.CV_64F) { assertListEquals(expectedMean, mean, EPS);
{ assertListEquals(expectedDev, stddev, EPS);
put(0, 0, 33.74205485167219, 52.8734582803278, 49.01569488056406);
}
};
assertMatEqual(expectedMean, mean, EPS);
assertMatEqual(expectedDev, stddev, EPS);
} }
public void testMeanStdDevMatMatMatMat() { public void testMeanStdDevMatMatMatMat() {
@ -1215,15 +1210,16 @@ public class CoreTest extends OpenCVTestCase {
Mat mask = gray0.clone(); Mat mask = gray0.clone();
submat = mask.submat(0, mask.rows() / 2, 0, mask.cols() / 2); submat = mask.submat(0, mask.rows() / 2, 0, mask.cols() / 2);
submat.setTo(new Scalar(1)); submat.setTo(new Scalar(1));
Mat mean = new Mat(); List<Double> mean = new ArrayList<Double>();
Mat stddev = new Mat(); List<Double> stddev = new ArrayList<Double>();
Core.meanStdDev(grayRnd, mean, stddev, mask); Core.meanStdDev(grayRnd, mean, stddev, mask);
Mat expectedMean = new Mat(1, 1, CvType.CV_64F, new Scalar(33)); List<Double> expectedMean = Arrays.asList( new Double[] {33d} );
Mat expectedDev = new Mat(1, 1, CvType.CV_64F, new Scalar(0)); List<Double> expectedDev = Arrays.asList( new Double[] {0d} );
assertMatEqual(expectedMean, mean, EPS);
assertMatEqual(expectedDev, stddev, EPS); assertListEquals(expectedMean, mean, EPS);
assertListEquals(expectedDev, stddev, EPS);
} }
public void testMerge() { public void testMerge() {

@ -141,17 +141,23 @@ public class ImgprocTest extends OpenCVTestCase {
} }
public void testApproxPolyDP() { public void testApproxPolyDP() {
Mat curve = new Mat(1, 5, CvType.CV_32FC2); List<Point> curve = new ArrayList<Point>(5);
curve.put(0, 0, 1, 3, 2, 4, 3, 5, 4, 4, 5, 3); curve.add(new Point(1, 3));
curve.add(new Point(2, 4));
curve.add(new Point(3, 5));
curve.add(new Point(4, 4));
curve.add(new Point(5, 3));
Imgproc.approxPolyDP(curve, dst, EPS, true); List<Point> approxCurve = new ArrayList<Point>();
Mat approxCurve = new Mat(3, 1, CvType.CV_32FC2) { Imgproc.approxPolyDP(curve, approxCurve, EPS, true);
{
put(0, 0, 1, 3, 3, 5, 5, 3); List<Point> approxCurveGold = new ArrayList<Point>(3);
} approxCurveGold.add(new Point(1, 3));
}; approxCurveGold.add(new Point(3, 5));
assertMatEqual(approxCurve, dst, EPS); approxCurveGold.add(new Point(5, 3));
assertListPointEquals(approxCurve, approxCurveGold, EPS);
} }
public void testArcLength() { public void testArcLength() {

@ -508,7 +508,7 @@ func_arg_fix = {
'polylines' : { 'pts' : 'vector_vector_Point', }, 'polylines' : { 'pts' : 'vector_vector_Point', },
'fillConvexPoly' : { 'points' : 'vector_Point', }, 'fillConvexPoly' : { 'points' : 'vector_Point', },
'boundingRect' : { 'points' : 'vector_Point', }, 'boundingRect' : { 'points' : 'vector_Point', },
#'approxPolyDP' : { 'curve' : 'vector_Point2f', 'CV_OUT approxCurve' : 'vector_Point2f', }, 'approxPolyDP' : { 'curve' : 'vector_Point2f', 'approxCurve' : 'vector_Point2f', },
'arcLength' : { 'curve' : 'vector_Point2f', }, 'arcLength' : { 'curve' : 'vector_Point2f', },
'isContourConvex' : { 'contour' : 'vector_Point2f', }, 'isContourConvex' : { 'contour' : 'vector_Point2f', },
'pointPolygonTest' : { 'contour' : 'vector_Point2f', }, 'pointPolygonTest' : { 'contour' : 'vector_Point2f', },
@ -518,7 +518,7 @@ func_arg_fix = {
'vconcat' : { 'src' : 'vector_Mat', }, 'vconcat' : { 'src' : 'vector_Mat', },
'undistortPoints' : { 'src' : 'vector_Point2d', 'dst' : 'vector_Point2d' }, 'undistortPoints' : { 'src' : 'vector_Point2d', 'dst' : 'vector_Point2d' },
'checkRange' : {'pos' : '*'}, 'checkRange' : {'pos' : '*'},
#'meanStdDev' : {'mean' : 'Scalar', 'stddev' : 'Scalar'}, 'meanStdDev' : {'mean' : 'vector_double', 'stddev' : 'vector_double'},
}, # '', i.e. no class }, # '', i.e. no class
} # func_arg_fix } # func_arg_fix

@ -547,6 +547,22 @@ public class Converters {
return res; return res;
} }
public static void Mat_to_vector_double(Mat m, List<Double> ds) {
if (ds == null)
throw new java.lang.IllegalArgumentException("ds == null");
int count = m.rows();
if (CvType.CV_64FC1 != m.type() || m.cols() != 1)
throw new java.lang.IllegalArgumentException(
"CvType.CV_64FC1 != m.type() || m.cols()!=1\n" + m);
ds.clear();
double[] buff = new double[count];
m.get(0, 0, buff);
for (int i = 0; i < count; i++) {
ds.add(buff[i]);
}
}
public static Mat vector_DMatch_to_Mat(List<DMatch> matches) { public static Mat vector_DMatch_to_Mat(List<DMatch> matches) {
Mat res; Mat res;
int count = (matches != null) ? matches.size() : 0; int count = (matches != null) ? matches.size() : 0;

Loading…
Cancel
Save