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

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,51 @@
package org.opencv.test.imgproc;
import org.opencv.test.OpenCVTestCase;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.core.Scalar;
import org.opencv.imgproc.Imgproc;
import org.opencv.imgproc.Moments;
public class MomentsTest extends OpenCVTestCase {
Mat data;
@Override
protected void setUp() throws Exception {
super.setUp();
data = new Mat(3,3, CvType.CV_8UC1, new Scalar(1));
data.row(1).setTo(new Scalar(5));
}
public void testAll() {
Moments res = Imgproc.moments(data);
assertEquals(res.m00, 21.0, EPS);
assertEquals(res.m10, 21.0, EPS);
assertEquals(res.m01, 21.0, EPS);
assertEquals(res.m20, 35.0, EPS);
assertEquals(res.m11, 21.0, EPS);
assertEquals(res.m02, 27.0, EPS);
assertEquals(res.m30, 63.0, EPS);
assertEquals(res.m21, 35.0, EPS);
assertEquals(res.m12, 27.0, EPS);
assertEquals(res.m03, 39.0, EPS);
assertEquals(res.mu20, 14.0, EPS);
assertEquals(res.mu11, 0.0, EPS);
assertEquals(res.mu02, 6.0, EPS);
assertEquals(res.mu30, 0.0, EPS);
assertEquals(res.mu21, 0.0, EPS);
assertEquals(res.mu12, 0.0, EPS);
assertEquals(res.mu03, 0.0, EPS);
assertEquals(res.nu20, 0.031746031746031744, EPS);
assertEquals(res.nu11, 0.0, EPS);
assertEquals(res.nu02, 0.013605442176870746, EPS);
assertEquals(res.nu30, 0.0, EPS);
assertEquals(res.nu21, 0.0, EPS);
assertEquals(res.nu12, 0.0, EPS);
assertEquals(res.nu03, 0.0, EPS);
}
}

View File

@ -0,0 +1,117 @@
package org.opencv.test.imgproc;
import org.opencv.core.MatOfFloat6;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.imgproc.Subdiv2D;
import org.opencv.test.OpenCVTestCase;
public class Subdiv2DTest extends OpenCVTestCase {
protected void setUp() throws Exception {
super.setUp();
}
public void testEdgeDstInt() {
fail("Not yet implemented");
}
public void testEdgeDstIntPoint() {
fail("Not yet implemented");
}
public void testEdgeOrgInt() {
fail("Not yet implemented");
}
public void testEdgeOrgIntPoint() {
fail("Not yet implemented");
}
public void testFindNearestPoint() {
fail("Not yet implemented");
}
public void testFindNearestPointPoint() {
fail("Not yet implemented");
}
public void testGetEdge() {
fail("Not yet implemented");
}
public void testGetEdgeList() {
fail("Not yet implemented");
}
public void testGetTriangleList() {
Subdiv2D s2d = new Subdiv2D( new Rect(0, 0, 50, 50) );
s2d.insert( new Point(10, 10) );
s2d.insert( new Point(20, 10) );
s2d.insert( new Point(20, 20) );
s2d.insert( new Point(10, 20) );
MatOfFloat6 triangles = new MatOfFloat6();
s2d.getTriangleList(triangles);
assertEquals(2, triangles.rows());
/*
int cnt = triangles.rows();
float buff[] = new float[cnt*6];
triangles.get(0, 0, buff);
for(int i=0; i<cnt; i++)
Log.d("*****", "["+i+"]: " + // (a.x, a.y) -> (b.x, b.y) -> (c.x, c.y)
"("+buff[6*i+0]+","+buff[6*i+1]+")" + "->" +
"("+buff[6*i+2]+","+buff[6*i+3]+")" + "->" +
"("+buff[6*i+4]+","+buff[6*i+5]+")"
);
*/
}
public void testGetVertexInt() {
fail("Not yet implemented");
}
public void testGetVertexIntIntArray() {
fail("Not yet implemented");
}
public void testGetVoronoiFacetList() {
fail("Not yet implemented");
}
public void testInitDelaunay() {
fail("Not yet implemented");
}
public void testInsertListOfPoint() {
fail("Not yet implemented");
}
public void testInsertPoint() {
fail("Not yet implemented");
}
public void testLocate() {
fail("Not yet implemented");
}
public void testNextEdge() {
fail("Not yet implemented");
}
public void testRotateEdge() {
fail("Not yet implemented");
}
public void testSubdiv2D() {
fail("Not yet implemented");
}
public void testSubdiv2DRect() {
fail("Not yet implemented");
}
public void testSymEdge() {
fail("Not yet implemented");
}
}