import org.opencv.core;
import org.opencv.test.OpenCVTestCase;
-import org.opencv.test.OpenCVTestRunner;
public class coreTest extends OpenCVTestCase {
}
public void testAddWeightedMatDoubleMatDoubleDoubleMatInt() {
- core.addWeighted(gray1, 126.0, gray127, 1.0, 2.0, dst);//FIXME: #1224, CvType.CV_32F
+ core.addWeighted(gray1, 126.0, gray127, 1.0, 2.0, dst, CvType.CV_32F);
assertTrue(CvType.CV_32F == dst.depth());
- //TODO: assertMatEqual(gray255_32f, dst);
+ assertMatEqual(gray255_32f, dst);
}
public void testBitwise_andMatMatMat() {
Mat covar = new Mat(matSize, matSize, CvType.CV_64FC1);
Mat mean = new Mat(1, matSize, CvType.CV_64FC1);
- core.calcCovarMatrix(gray0_32f, covar, mean, 8|1); //TODO: CV_COVAR_NORMAL instead of magic numbers
+ core.calcCovarMatrix(gray0_32f, covar, mean, 8|1/*TODO: CV_COVAR_NORMAL*/);
assertMatEqual(gray0_64f, covar);
assertMatEqual(gray0_64f_1d, mean);
}
Mat covar = new Mat(matSize, matSize, CvType.CV_32F);
Mat mean = new Mat(1, matSize, CvType.CV_32F);
- core.calcCovarMatrix(gray0_32f, covar, mean, 8|1, CvType.CV_32F); //FIXME: CV_COVAR_NORMAL
+ core.calcCovarMatrix(gray0_32f, covar, mean, 8|1/*TODO: CV_COVAR_NORMAL*/, CvType.CV_32F);
assertMatEqual(gray0_32f, covar);
assertMatEqual(gray0_32f_1d, mean);
}
fail("Not yet implemented");
}
- public void testCheckHardwareSupport() {
- //XXX: core.checkHardwareSupport(feature)
- //boolean hasFeauture = core.checkHardwareSupport(0);
- //assertEquals(false, hasFeauture);
- }
-
public void testCircleMatPointIntScalar() {
Point center = new Point(gray0.cols() / 2, gray0.rows()/2);
int radius = Math.min(gray0.cols()/4, gray0.rows()/4);
public void testExp() {
Mat destination = new Mat(matSize, matSize, CvType.CV_32F); destination.setTo(new Scalar(0.0));
core.exp(gray0_32f, destination);
- OpenCVTestRunner.Log(destination.dump());
assertMatEqual(gray1_32f, destination);
}
int vecsize = core.getOptimalDFTSize(0);
assertEquals(1, vecsize);
- int largeVecSize = core.getOptimalDFTSize(32768);
- assertTrue(largeVecSize < 0); //FIXME:fails why??
+ int largeVecSize = core.getOptimalDFTSize(133);
+ assertEquals(135, largeVecSize);
+ largeVecSize = core.getOptimalDFTSize(13);
+ assertEquals(15, largeVecSize);
}
public void testGetTickFrequency() {
}
public void testLog() {
- //FIXME: why it fails for the above array!
-// Mat in = new Mat(1, 4, Mat.CvType.CV_32FC1);
-// Mat des = new Mat(1, 4, Mat.CvType.CV_32FC1);
-// in.put(0, 0, 1.0, 2.0, 4.0,3.0);
-// des.put(0,0, 0.0, 0.3010,0.6021,0.4771);
-// assertMatEqual(des,dst_gray);
-
- Mat in = new Mat(1, 1, CvType.CV_32F);
- Mat des = new Mat(1, 1, CvType.CV_32F);
- in.put(0, 0, 1);
- des.put(0,0, 0.0);
+ Mat in = new Mat(1, 4, CvType.CV_32FC1);
+ Mat desired = new Mat(1, 4, CvType.CV_32FC1);
+ in.put(0, 0, 1.0, 10.0, 100.0, 1000.0);
+ desired.put(0, 0, 0, 2.3025851, 4.6051702, 6.9077554);
+
core.log(in, dst);
- assertMatEqual(des, dst);
+ assertMatEqual(desired, dst);
}
public void testLUTMatMatMat() {
core.magnitude(x, y, dst_gray);
assertMatEqual(dst,dst_gray);
*/
- //FIXME: fails for the above case, why?
+ //fails for the above case, why?
/*Mat x = new Mat(1, 1, Mat.CvType.CV_32FC1);
Mat y = new Mat(1, 1, Mat.CvType.CV_32FC1);
Mat dst = new Mat(1, 1, Mat.CvType.CV_32FC1);
public void testMahalanobis() {
Mat covar = new Mat(matSize, matSize, CvType.CV_32F);
Mat mean = new Mat(1, matSize, CvType.CV_32F);
- core.calcCovarMatrix(grayRnd_32f, covar, mean, 8|1, CvType.CV_32F); //TODO: CV_COVAR_NORMAL instead of magic numbers
+ core.calcCovarMatrix(grayRnd_32f, covar, mean, 8|1/*TODO: CV_COVAR_NORMAL*/, CvType.CV_32F);
covar.inv();
Mat line1 = grayRnd_32f.submat(0, 1, 0, grayRnd_32f.cols());
public void testMulSpectrumsMatMatMatInt() {
- //TODO: nice example
+ //nice example
fail("Not yet implemented");
}
core.mulTransposed(grayRnd_32f, dst, true, grayRnd_32f);
assertMatEqual(gray0_32f, dst);
- Mat grayDelta = new Mat(matSize, matSize, CvType.CV_8U);
- grayDelta.setTo(new Scalar(0.0001));
+ Mat grayDelta = new Mat(matSize, matSize, CvType.CV_32F);
+ grayDelta.setTo(new Scalar(0.0));
core.mulTransposed(grayE_32f, dst, true, grayDelta);
assertMatEqual(grayE_32f, dst);
}
public void testMulTransposedMatMatBooleanMatDouble() {
- Mat grayDelta = new Mat(matSize, matSize, CvType.CV_8U);
- grayDelta.setTo(new Scalar(0.0001));
- core.mulTransposed(grayE_32f, dst, true, grayDelta, 1);//FIXME: what scale factor to use?!
+ Mat grayDelta = new Mat(matSize, matSize, CvType.CV_32F);
+ grayDelta.setTo(new Scalar(0.0));
+ core.mulTransposed(grayE_32f, dst, true, grayDelta, 1);
assertMatEqual(grayE_32f, dst);
}
}
public void testPerspectiveTransform() {
- //TODO: nice example
+ //nice example
fail("Not yet implemented");
}
fail("Not yet implemented. Scalar type is not supported");
}
- public void testSetUseOptimized() {
- //XXX: core.setUseOptimized(onoff)
- fail("Not yet implemented");
- }
-
public void testSolveCubic() {
fail("Not yet implemented");
}
}
public void testSort() {
- Mat matrix = new Mat(matSize, matSize, CvType.CV_8U);
- matrix.setTo(new Scalar(0.0));
- Mat submatrix = matrix.submat(0, matrix.rows() / 2, 0, matrix.cols() / 2);
- submatrix.setTo(new Scalar(1.0));
+ Mat submat = gray0.submat(0, gray0.rows() / 2, 0, gray0.cols() / 2);
+ submat.setTo(new Scalar(1.0));
- core.sort(matrix, dst, 0); //FIXME: #define CV_SORT_EVERY_ROW 0
-
- Mat subdst = dst.submat(0, dst.rows() / 2, dst.cols() / 2, dst.cols());
- assertTrue(subdst.total() == core.countNonZero(subdst));
+ core.sort(gray0, dst, 0/*TODO: CV_SORT_EVERY_ROW*/);
+ submat = dst.submat(0, dst.rows() / 2, dst.cols() / 2, dst.cols());
+ assertTrue(submat.total() == core.countNonZero(submat));
- core.sort(matrix, dst, 1); //FIXME: #define CV_SORT_EVERY_COLUMN 1
- Mat subdst1 = dst.submat(dst.rows() / 2, dst.rows(), 0, dst.cols() / 2);
- assertTrue(subdst1.total() == core.countNonZero(subdst1));
+ core.sort(gray0, dst, 1/*TODO: CV_SORT_EVERY_COLUMN*/);
+ submat = dst.submat(dst.rows() / 2, dst.rows(), 0, dst.cols() / 2);
+ assertTrue(submat.total() == core.countNonZero(submat));
}
public void testSortIdx() {
core.sqrt(gray9_32f, dst);
assertMatEqual(gray3_32f, dst);
- //TODO: We can't use assertMatEqual with multi-channel mat
-// Mat rgba144 = new Mat(matSize, matSize, Mat.CvType.CV_32FC4);
-// Mat rgba12 = new Mat(matSize, matSize, Mat.CvType.CV_32FC4);
-// Mat rgba_dst = new Mat(matSize, matSize, Mat.CvType.CV_32FC4);
-// rgba144.setTo(144, 144, 144, 144);
-// rgba12.setTo(12, 12, 12, 12);
-// rgba_dst.setTo(0, 0, 0, 0);
-// core.sqrt(rgba144, rgba_dst);
-// //assertMatEqual(rgba12, rgba_dst);
+ Mat rgba144 = new Mat(matSize, matSize, CvType.CV_32FC4);
+ Mat rgba12 = new Mat(matSize, matSize, CvType.CV_32FC4);
+ rgba144.setTo(Scalar.all(144));
+ rgba12.setTo(Scalar.all(12));
+
+ core.sqrt(rgba144, dst);
+ assertMatEqual(rgba12, dst);
}
public void testSubtractMatMatMat() {
}
public void testSubtractMatMatMatMat() {
- fail("Not yet implemented");
- Mat mask = new Mat(matSize, matSize, CvType.CV_8U);
- mask.setTo(new Scalar(0));
+ Mat mask = new Mat(matSize, matSize, CvType.CV_8U, new Scalar(0));
Mat submask = mask.submat(0, mask.rows() / 2, 0, mask.cols() / 2);
submask.setTo(new Scalar(1));
- //FIXME: looks like a bug
- OpenCVTestRunner.Log(" submask.total() = " + String.valueOf(submask.total()));
- OpenCVTestRunner.Log(" 1: core.countNonZero(dst) = " + String.valueOf(core.countNonZero(dst)));
+ dst = new Mat(matSize, matSize, CvType.CV_8U, new Scalar(0));
core.subtract(gray3, gray2, dst, mask);
- OpenCVTestRunner.Log(" 2: core.countNonZero(dst) = " + String.valueOf(core.countNonZero(dst)));
assertTrue(submask.total() == core.countNonZero(dst));
}
public void testSubtractMatMatMatMatInt() {
- fail("Not yet implemented");
-// core.subtract(gray3, gray1, dst, gray1, gray255_32f.depth());
-// OpenCVTestRunner.Log(" 3: dst.depth() = " + String.valueOf(dst.depth()));
-// OpenCVTestRunner.Log(" 4: core.CV_32F = " + String.valueOf(CvType.CV_32F));
-// //FIXME: assertTrue(CvType.CV_32F == dst.depth());
-// //assertMatEqual(gray2, dst);
+ core.subtract(gray3, gray2, dst, gray1, CvType.CV_32F);
+ assertTrue(CvType.CV_32F == dst.depth());
+ assertMatEqual(gray1_32f, dst);
}
public void testTransform() {
assertTrue(subdst.total() == core.countNonZero(subdst));
}
- public void testUseOptimized() {
- //XXX: core.useOptimized()
- fail("Not yet implemented");
- }
-
public void testVconcat() {
fail("Not yet implemented");
}