diff --git a/.gitignore b/.gitignore
index b8c043901..e1a08cb49 100644
--- a/.gitignore
+++ b/.gitignore
@@ -109,3 +109,5 @@ Main/.gradle
Main/target
New client/chameleon-client/node_modules/
+Main/dependency-reduced-pom.xml
+Main/src/main/java/META-INF
diff --git a/Main/pom.xml b/Main/pom.xml
index 28ce24dd4..ddd5d8379 100644
--- a/Main/pom.xml
+++ b/Main/pom.xml
@@ -17,6 +17,19 @@
12
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.1
+
+
+ package
+
+ shade
+
+
+
+
diff --git a/Main/src/main/java/com/chameleonvision/settings/NetworkSettings.java b/Main/src/main/java/com/chameleonvision/settings/NetworkSettings.java
index b13761b7f..1aa3f1c44 100644
--- a/Main/src/main/java/com/chameleonvision/settings/NetworkSettings.java
+++ b/Main/src/main/java/com/chameleonvision/settings/NetworkSettings.java
@@ -24,13 +24,17 @@ public class NetworkSettings {
}
executeCommand("hostnamectl set-hostname " + this.hostname);
}
- //TODO add windows networking commands
-
-// else
-// if (SystemUtils.IS_OS_WINDOWS)
-// {
-// executeCommand("cmd /c COMMAND HERE");
-// }
+ //TODO check windows commands
+ else if (SystemUtils.IS_OS_WINDOWS) {
+ if (!adapter.equals("")) {
+ if (connectionType.equals("DHCP"))
+ executeCommand("cmd /c interface ip set address \"" + adapter + "\" dhcp");
+ else if (connectionType.equals("Static")) {
+ executeCommand("cmd /c netsh interface ip set address \"" + adapter + "\" static " + this.ip + " " + this.netmask + " " + this.gateway + "1");
+ }
+ }
+ //TODO find a way to change hostname in windows
+ }
}
private void executeCommand(String command) {
@@ -51,7 +55,7 @@ public class NetworkSettings {
Enumeration ee = netint.getInetAddresses();
for (InetAddress addr : Collections.list(ee))
if (addr instanceof Inet4Address)
- if ((addr.getAddress()[0] & 0xFF) == 10 && (addr.getAddress()[1] & 0xFF) == SettingsManager.GeneralSettings.team_number) {
+ if ((addr.getAddress()[0] & 0xFF) == 10 && (addr.getAddress()[1] & 0xFF) == SettingsManager.GeneralSettings.team_number) {
System.out.println("found robot network interface at " + netint.getName() + " ip: " + addr.getHostAddress());
return netint.getName();
}
diff --git a/Main/src/main/java/com/chameleonvision/vision/process/CVProcess.java b/Main/src/main/java/com/chameleonvision/vision/process/CVProcess.java
index 6cbe4af36..8a25c2db2 100644
--- a/Main/src/main/java/com/chameleonvision/vision/process/CVProcess.java
+++ b/Main/src/main/java/com/chameleonvision/vision/process/CVProcess.java
@@ -53,29 +53,33 @@ public class CVProcess {
return FoundContours;
}
- List FilterContours(List InputContours, List area, List ratio, List extent) {
- for (MatOfPoint Contour : InputContours) {
- try {
- var contourArea = Imgproc.contourArea(Contour);
- double targetArea = FastMath.round((contourArea / CamVals.ImageArea) * 100);
- if (targetArea <= area.get(0) || targetArea >= area.get(1)) {
- continue;
- }
- var rect = Imgproc.minAreaRect(new MatOfPoint2f(Contour.toArray()));
- var targetFullness = (contourArea / rect.size.area()) * 100;
- if (targetFullness <= extent.get(0) || targetArea >= extent.get(1)) {
- continue;
- }
- var aspectRatio = rect.size.width / rect.size.height;
- if (aspectRatio <= ratio.get(0) || aspectRatio >= ratio.get(1)) {
- continue;
- }
- FilteredContours.add(Contour);
- } catch (Exception ignored) {
- }
- }
- return FilteredContours;
- }
+ List FilterContours(List InputContours, List area, List ratio, List extent) {
+ for (MatOfPoint Contour : InputContours){
+ try{
+ var contourArea = Imgproc.contourArea(Contour);//TODO change scaling
+ int targetArea = (int) ((((float) contourArea) / CamVals.ImageArea) * 100);
+ if (targetArea < area.get(0) || targetArea > area.get(1)){
+ continue;
+ }
+ var rect = Imgproc.minAreaRect(new MatOfPoint2f(Contour.toArray()));
+ var targetFullness = (contourArea / rect.size.area()) * 100;
+ if (targetFullness < extent.get(0) || targetArea > extent.get(1)){
+ continue;
+ }
+ double aspectRatio = rect.size.width / rect.size.height;//TODO i think aspectRatio is inverted
+ if (aspectRatio < ratio.get(0) || aspectRatio > ratio.get(1)){
+ continue;
+ }
+ FilteredContours.add(Contour);
+ }
+ catch (Exception e)
+ {
+ System.err.println("Error while filtering contours");
+ e.printStackTrace();
+ }
+ }
+ return FilteredContours;
+ }
private double calcDistance(RotatedRect rect) {
return FastMath.sqrt(FastMath.pow(CamVals.CenterX - rect.center.x, 2) + FastMath.pow(CamVals.CenterY - rect.center.y, 2));
diff --git a/chameleon-client/src/components/Vision.vue b/chameleon-client/src/components/Vision.vue
index b61e10c7a..e156e2967 100644
--- a/chameleon-client/src/components/Vision.vue
+++ b/chameleon-client/src/components/Vision.vue
@@ -6,7 +6,7 @@
-
+
diff --git a/chameleon-client/src/components/contourTab.vue b/chameleon-client/src/components/contourTab.vue
index d9c63b1ae..737736c2d 100644
--- a/chameleon-client/src/components/contourTab.vue
+++ b/chameleon-client/src/components/contourTab.vue
@@ -5,7 +5,7 @@
-