mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 11:40:44 +08:00
Java API minor fixes
This commit is contained in:
parent
a97c2c838c
commit
1b2525703e
@ -1190,23 +1190,18 @@ public class CoreTest extends OpenCVTestCase {
|
||||
}
|
||||
|
||||
public void testMeanStdDevMatMatMat() {
|
||||
Mat mean = new Mat();
|
||||
Mat stddev = new Mat();
|
||||
List<Double> mean = new ArrayList<Double>();
|
||||
List<Double> stddev = new ArrayList<Double>();
|
||||
|
||||
Core.meanStdDev(rgbLena, mean, stddev);
|
||||
|
||||
Mat expectedMean = new Mat(3, 1, CvType.CV_64F) {
|
||||
{
|
||||
put(0, 0, 105.3989906311035, 99.56269836425781, 179.7303047180176);
|
||||
}
|
||||
};
|
||||
Mat expectedDev = new Mat(3, 1, CvType.CV_64F) {
|
||||
{
|
||||
put(0, 0, 33.74205485167219, 52.8734582803278, 49.01569488056406);
|
||||
}
|
||||
};
|
||||
assertMatEqual(expectedMean, mean, EPS);
|
||||
assertMatEqual(expectedDev, stddev, EPS);
|
||||
List<Double> expectedMean = Arrays.asList( new Double[]
|
||||
{105.3989906311035, 99.56269836425781, 179.7303047180176} );
|
||||
List<Double> expectedDev = Arrays.asList( new Double[]
|
||||
{33.74205485167219, 52.8734582803278, 49.01569488056406} );
|
||||
|
||||
assertListEquals(expectedMean, mean, EPS);
|
||||
assertListEquals(expectedDev, stddev, EPS);
|
||||
}
|
||||
|
||||
public void testMeanStdDevMatMatMatMat() {
|
||||
@ -1215,15 +1210,16 @@ public class CoreTest extends OpenCVTestCase {
|
||||
Mat mask = gray0.clone();
|
||||
submat = mask.submat(0, mask.rows() / 2, 0, mask.cols() / 2);
|
||||
submat.setTo(new Scalar(1));
|
||||
Mat mean = new Mat();
|
||||
Mat stddev = new Mat();
|
||||
List<Double> mean = new ArrayList<Double>();
|
||||
List<Double> stddev = new ArrayList<Double>();
|
||||
|
||||
Core.meanStdDev(grayRnd, mean, stddev, mask);
|
||||
|
||||
Mat expectedMean = new Mat(1, 1, CvType.CV_64F, new Scalar(33));
|
||||
Mat expectedDev = new Mat(1, 1, CvType.CV_64F, new Scalar(0));
|
||||
assertMatEqual(expectedMean, mean, EPS);
|
||||
assertMatEqual(expectedDev, stddev, EPS);
|
||||
List<Double> expectedMean = Arrays.asList( new Double[] {33d} );
|
||||
List<Double> expectedDev = Arrays.asList( new Double[] {0d} );
|
||||
|
||||
assertListEquals(expectedMean, mean, EPS);
|
||||
assertListEquals(expectedDev, stddev, EPS);
|
||||
}
|
||||
|
||||
public void testMerge() {
|
||||
|
@ -141,17 +141,23 @@ public class ImgprocTest extends OpenCVTestCase {
|
||||
}
|
||||
|
||||
public void testApproxPolyDP() {
|
||||
Mat curve = new Mat(1, 5, CvType.CV_32FC2);
|
||||
curve.put(0, 0, 1, 3, 2, 4, 3, 5, 4, 4, 5, 3);
|
||||
List<Point> curve = new ArrayList<Point>(5);
|
||||
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) {
|
||||
{
|
||||
put(0, 0, 1, 3, 3, 5, 5, 3);
|
||||
}
|
||||
};
|
||||
assertMatEqual(approxCurve, dst, EPS);
|
||||
Imgproc.approxPolyDP(curve, approxCurve, EPS, true);
|
||||
|
||||
List<Point> approxCurveGold = new ArrayList<Point>(3);
|
||||
approxCurveGold.add(new Point(1, 3));
|
||||
approxCurveGold.add(new Point(3, 5));
|
||||
approxCurveGold.add(new Point(5, 3));
|
||||
|
||||
assertListPointEquals(approxCurve, approxCurveGold, EPS);
|
||||
}
|
||||
|
||||
public void testArcLength() {
|
||||
|
@ -508,7 +508,7 @@ func_arg_fix = {
|
||||
'polylines' : { 'pts' : 'vector_vector_Point', },
|
||||
'fillConvexPoly' : { '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', },
|
||||
'isContourConvex' : { 'contour' : 'vector_Point2f', },
|
||||
'pointPolygonTest' : { 'contour' : 'vector_Point2f', },
|
||||
@ -518,7 +518,7 @@ func_arg_fix = {
|
||||
'vconcat' : { 'src' : 'vector_Mat', },
|
||||
'undistortPoints' : { 'src' : 'vector_Point2d', 'dst' : 'vector_Point2d' },
|
||||
'checkRange' : {'pos' : '*'},
|
||||
#'meanStdDev' : {'mean' : 'Scalar', 'stddev' : 'Scalar'},
|
||||
'meanStdDev' : {'mean' : 'vector_double', 'stddev' : 'vector_double'},
|
||||
}, # '', i.e. no class
|
||||
} # func_arg_fix
|
||||
|
||||
|
@ -547,6 +547,22 @@ public class Converters {
|
||||
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) {
|
||||
Mat res;
|
||||
int count = (matches != null) ? matches.size() : 0;
|
||||
|
Loading…
Reference in New Issue
Block a user