}
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() {
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() {
}
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);
-
- Imgproc.approxPolyDP(curve, dst, EPS, true);
-
- Mat approxCurve = new Mat(3, 1, CvType.CV_32FC2) {
- {
- put(0, 0, 1, 3, 3, 5, 5, 3);
- }
- };
- assertMatEqual(approxCurve, dst, EPS);
+ 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));
+
+ List<Point> approxCurve = new ArrayList<Point>();
+
+ 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() {
'polylines' : { 'pts' : 'vector_vector_Point', },\r
'fillConvexPoly' : { 'points' : 'vector_Point', },\r
'boundingRect' : { 'points' : 'vector_Point', },\r
- #'approxPolyDP' : { 'curve' : 'vector_Point2f', 'CV_OUT approxCurve' : 'vector_Point2f', },\r
+ 'approxPolyDP' : { 'curve' : 'vector_Point2f', 'approxCurve' : 'vector_Point2f', },\r
'arcLength' : { 'curve' : 'vector_Point2f', },\r
'isContourConvex' : { 'contour' : 'vector_Point2f', },\r
'pointPolygonTest' : { 'contour' : 'vector_Point2f', },\r
'vconcat' : { 'src' : 'vector_Mat', },\r
'undistortPoints' : { 'src' : 'vector_Point2d', 'dst' : 'vector_Point2d' },\r
'checkRange' : {'pos' : '*'},\r
- #'meanStdDev' : {'mean' : 'Scalar', 'stddev' : 'Scalar'},\r
+ 'meanStdDev' : {'mean' : 'vector_double', 'stddev' : 'vector_double'},\r
}, # '', i.e. no class\r
} # func_arg_fix\r
\r
return res;\r
}\r
\r
+ public static void Mat_to_vector_double(Mat m, List<Double> ds) {\r
+ if (ds == null)\r
+ throw new java.lang.IllegalArgumentException("ds == null");\r
+ int count = m.rows();\r
+ if (CvType.CV_64FC1 != m.type() || m.cols() != 1)\r
+ throw new java.lang.IllegalArgumentException(\r
+ "CvType.CV_64FC1 != m.type() || m.cols()!=1\n" + m);\r
+\r
+ ds.clear();\r
+ double[] buff = new double[count];\r
+ m.get(0, 0, buff);\r
+ for (int i = 0; i < count; i++) {\r
+ ds.add(buff[i]);\r
+ }\r
+ }\r
+\r
public static Mat vector_DMatch_to_Mat(List<DMatch> matches) {\r
Mat res;\r
int count = (matches != null) ? matches.size() : 0;\r