feat: 切换后端至PaddleOCR-NCNN,切换工程为CMake

1.项目后端整体迁移至PaddleOCR-NCNN算法,已通过基本的兼容性测试
2.工程改为使用CMake组织,后续为了更好地兼容第三方库,不再提供QMake工程
3.重整权利声明文件,重整代码工程,确保最小化侵权风险

Log: 切换后端至PaddleOCR-NCNN,切换工程为CMake
Change-Id: I4d5d2c5d37505a4a24b389b1a4c5d12f17bfa38c
This commit is contained in:
wangzhengyang
2022-05-10 09:54:44 +08:00
parent ecdd171c6f
commit 718c41634f
10018 changed files with 3593797 additions and 186748 deletions

View File

@ -0,0 +1,43 @@
package org.opencv.test.video;
import org.opencv.test.OpenCVTestCase;
public class BackgroundSubtractorMOGTest extends OpenCVTestCase {
public void testApplyMatMat() {
fail("Not yet implemented");
/*
BackgroundSubtractorMOG backGroundSubtract = new BackgroundSubtractorMOG();
Point bottomRight = new Point(rgbLena.cols() / 2, rgbLena.rows() / 2);
Point topLeft = new Point(0, 0);
Scalar color = new Scalar(128);
Mat mask = new Mat(rgbLena.size(), CvType.CV_16UC3, new Scalar(1));
Imgproc.rectangle(rgbLena, bottomRight, topLeft, color, Imgproc.FILLED);
backGroundSubtract.apply(rgbLena, mask);
Mat truth = new Mat(rgbLena.size(), rgbLena.type(), new Scalar(0));
Imgproc.rectangle(truth, bottomRight, topLeft, color, Imgproc.FILLED);
assertMatEqual(truth, rgbLena);
*/
}
public void testApplyMatMatDouble() {
fail("Not yet implemented");
}
public void testBackgroundSubtractorMOG() {
fail("Not yet implemented");
}
public void testBackgroundSubtractorMOGIntIntDouble() {
fail("Not yet implemented");
}
public void testBackgroundSubtractorMOGIntIntDoubleDouble() {
fail("Not yet implemented");
}
}

View File

@ -0,0 +1,38 @@
package org.opencv.test.video;
import org.opencv.test.OpenCVTestCase;
import org.opencv.video.KalmanFilter;
public class KalmanFilterTest extends OpenCVTestCase {
public void testCorrect() {
fail("Not yet implemented");
}
public void testKalmanFilter() {
KalmanFilter kf = new KalmanFilter();
assertNotNull(kf);
}
public void testKalmanFilterIntInt() {
fail("Not yet implemented");
}
public void testKalmanFilterIntIntInt() {
fail("Not yet implemented");
}
public void testKalmanFilterIntIntIntInt() {
fail("Not yet implemented");
}
public void testPredict() {
fail("Not yet implemented");
}
public void testPredictMat() {
fail("Not yet implemented");
}
}

View File

@ -0,0 +1,39 @@
package org.opencv.test.video;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.CvException;
import org.opencv.core.Mat;
import org.opencv.core.Rect;
import org.opencv.test.OpenCVTestCase;
import org.opencv.video.Tracker;
import org.opencv.video.TrackerGOTURN;
import org.opencv.video.TrackerMIL;
public class TrackerCreateTest extends OpenCVTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
}
public void testCreateTrackerGOTURN() {
try {
Tracker tracker = TrackerGOTURN.create();
assert(tracker != null);
} catch (CvException e) {
// expected, model files may be missing
}
}
public void testCreateTrackerMIL() {
Tracker tracker = TrackerMIL.create();
assert(tracker != null);
Mat mat = new Mat(100, 100, CvType.CV_8UC1);
Rect rect = new Rect(10, 10, 30, 30);
tracker.init(mat, rect); // should not crash (https://github.com/opencv/opencv/issues/19915)
}
}

View File

@ -0,0 +1,99 @@
package org.opencv.test.video;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfByte;
import org.opencv.core.MatOfFloat;
import org.opencv.core.MatOfPoint2f;
import org.opencv.core.Point;
import org.opencv.core.Size;
import org.opencv.test.OpenCVTestCase;
import org.opencv.video.Video;
public class VideoTest extends OpenCVTestCase {
private MatOfFloat err = null;
private int h;
private MatOfPoint2f nextPts = null;
private MatOfPoint2f prevPts = null;
private int shift1;
private int shift2;
private MatOfByte status = null;
private Mat subLena1 = null;
private Mat subLena2 = null;
private int w;
@Override
protected void setUp() throws Exception {
super.setUp();
shift1 = 10;
shift2 = 17;
w = (int)(rgbLena.cols() / 2);
h = (int)(rgbLena.rows() / 2);
subLena1 = rgbLena.submat(shift1, h + shift1, shift1, w + shift1);
subLena2 = rgbLena.submat(shift2, h + shift2, shift2, w + shift2);
prevPts = new MatOfPoint2f(new Point(11d, 8d), new Point(5d, 5d), new Point(10d, 10d));
nextPts = new MatOfPoint2f();
status = new MatOfByte();
err = new MatOfFloat();
}
public void testCalcGlobalOrientation() {
fail("Not yet implemented");
}
public void testCalcMotionGradientMatMatMatDoubleDouble() {
fail("Not yet implemented");
}
public void testCalcMotionGradientMatMatMatDoubleDoubleInt() {
fail("Not yet implemented");
}
public void testCalcOpticalFlowFarneback() {
fail("Not yet implemented");
}
public void testCalcOpticalFlowPyrLKMatMatListOfPointListOfPointListOfByteListOfFloat() {
Video.calcOpticalFlowPyrLK(subLena1, subLena2, prevPts, nextPts, status, err);
assertEquals(3, Core.countNonZero(status));
}
public void testCalcOpticalFlowPyrLKMatMatListOfPointListOfPointListOfByteListOfFloatSize() {
Size sz = new Size(3, 3);
Video.calcOpticalFlowPyrLK(subLena1, subLena2, prevPts, nextPts, status, err, sz, 3);
assertEquals(0, Core.countNonZero(status));
}
public void testCalcOpticalFlowPyrLKMatMatListOfPointListOfPointListOfByteListOfFloatSizeIntTermCriteriaDoubleIntDouble() {
fail("Not yet implemented");
}
public void testCamShift() {
fail("Not yet implemented");
}
public void testEstimateRigidTransform() {
fail("Not yet implemented");
}
public void testMeanShift() {
fail("Not yet implemented");
}
public void testSegmentMotion() {
fail("Not yet implemented");
}
public void testUpdateMotionHistory() {
fail("Not yet implemented");
}
}