mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 19:50:38 +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() {
|
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…
Reference in New Issue
Block a user