Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
Java_fleet_detection
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nguyeng Hoang Giang
Java_fleet_detection
Commits
0a66bfee
Commit
0a66bfee
authored
Mar 22, 2022
by
Nguyeng Hoang Giang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update README.md
parent
17aff5c8
Pipeline
#1483
failed with stages
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
9 deletions
+63
-9
README.md
README.md
+63
-9
No files found.
README.md
View file @
0a66bfee
input: ảnh của mỗi cam, và 4 điểm/side. Mỗi cam sẽ có 3 side. 4 điểm của mỗi side là 4 góc của side đó. Side là các mặt của khối thể tích cần tính.
input: ảnh của mỗi cam, và 4 điểm/side. Mỗi cam sẽ có 3 side. 4 điểm của mỗi side là 4 góc của side đó. Side là các mặt của khối thể tích cần tính.
output:
mỗi mặt trả về một binary matrix, dùng để tính diện tích vùng có giá trị 0
.
output:
tỉ lệ thể tích của vật
.
//scale của matrix thể tích
//Khoi tạo 1 cam, nhận ảnh tĩnh vào
int x = 5;
Fleet_single_cam cam = new Fleet_single_cam("a","5b8ab6b219c9d6978fd827.jpg", 0.5, 5, 5, 4,false);
int y = 5;
int z = 4;
//Khoi tạo cam 1
Fleet_single_cam cam1 = new Fleet_single_cam("1", "1da36bd1c4aa0bf452bb24.jpg", 0.5, x, y, z, false);
//create front side, add 4 đỉnh của side front vào
//create front side, add 4 đỉnh của side front vào
cam.add_side("front", new float[][]{
cam1.add_side("front", new float[][]{
new float[]{681, 54},
new float[]{1250, 115},
new float[]{984, 528},
new float[]{679, 366}
});
//create mặt side, add 4 đỉnh của mặt side vào
cam1.add_side("side", new float[][]{
new float[]{8, 152},
new float[]{681, 54},
new float[]{679, 366},
new float[]{288, 545}
});
//create bottom side, add 4 đỉnh của side bottom vào
cam1.add_side("bottom", new float[][]{
new float[]{679, 366},
new float[]{984, 528},
new float[]{732, 955},
new float[]{288, 545}
});
//tính matrix thể tích vật
cam1.refine_matrix();
//lấy những point chứa vật
cam1.initPoint3d();
//Khoi tạo cam2
Fleet_single_cam cam2 = new Fleet_single_cam("a", "5b8ab6b219c9d6978fd827.jpg", 0.5, 5, 5, 4, false);
//create front side, add 4 đỉnh của side front vào
cam2.add_side("front", new float[][]{
new float[]{687, 8},
new float[]{687, 8},
new float[]{1264, 54},
new float[]{1264, 54},
new float[]{1027, 432},
new float[]{1027, 432},
...
@@ -14,7 +50,7 @@ output: mỗi mặt trả về một binary matrix, dùng để tính diện t
...
@@ -14,7 +50,7 @@ output: mỗi mặt trả về một binary matrix, dùng để tính diện t
});
});
//create mặt side, add 4 đỉnh của mặt side vào
//create mặt side, add 4 đỉnh của mặt side vào
cam.add_side("side", new float[][]{
cam
2
.add_side("side", new float[][]{
new float[]{12, 132},
new float[]{12, 132},
new float[]{687, 8},
new float[]{687, 8},
new float[]{672, 305},
new float[]{672, 305},
...
@@ -22,12 +58,30 @@ output: mỗi mặt trả về một binary matrix, dùng để tính diện t
...
@@ -22,12 +58,30 @@ output: mỗi mặt trả về một binary matrix, dùng để tính diện t
});
});
//create bottom side, add 4 đỉnh của side bottom vào
//create bottom side, add 4 đỉnh của side bottom vào
cam.add_side("bottom", new float[][]{
cam
2
.add_side("bottom", new float[][]{
new float[]{672, 305},
new float[]{672, 305},
new float[]{1027, 432},
new float[]{1027, 432},
new float[]{817, 923},
new float[]{817, 923},
new float[]{275, 497}
new float[]{275, 497}
});
});
//tạo matrix để tính thể tích
//tính matrix thể tích vật
cam.refine_matrix();
cam2.refine_matrix();
\ No newline at end of file
//lấy những point của vật thể
cam2.initPoint3d();
// tổng hợp lại những point chứa vật trong 2 cam
Point3d[] poly = Arrays.copyOf(cam1.getPoints(), cam1.getPoints().length+cam2.getPoints().length);
System.arraycopy(cam2.getPoints(), 0, poly, cam1.getPoints().length, cam2.getPoints().length);
//dùng quick hull algorithm để tính thể tích
QuickHull3D hull = new QuickHull3D();
hull.build(poly);
//lấy thể tích của vật
double volume = hull.calVolume();
//Kết quả trả ra: tỉ lệ thể tích
double result = volume/((x+1)
*(y+1)*
(z+1));
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment