diff --git a/Main/src/main/java/com/chameleonvision/MemoryManager.java b/Main/src/main/java/com/chameleonvision/MemoryManager.java index d1b34d61b..ef6736e42 100644 --- a/Main/src/main/java/com/chameleonvision/MemoryManager.java +++ b/Main/src/main/java/com/chameleonvision/MemoryManager.java @@ -11,6 +11,9 @@ public class MemoryManager { this.collectionThreshold = collectionThreshold; } + public void setCollectionThreshold(int collectionThreshold) { + this.collectionThreshold = collectionThreshold; + } public static long getUsedMemory() { return Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); diff --git a/Main/src/main/java/com/chameleonvision/vision/process/CameraProcess.java b/Main/src/main/java/com/chameleonvision/vision/process/CameraProcess.java index 84c75c8c2..d9918b34f 100644 --- a/Main/src/main/java/com/chameleonvision/vision/process/CameraProcess.java +++ b/Main/src/main/java/com/chameleonvision/vision/process/CameraProcess.java @@ -88,7 +88,7 @@ public class CameraProcess implements Runnable { if (FilteredContours.size() > 0) { for (int i = 0; i < FilteredContours.size(); i++) { - Imgproc.drawContours(outputMat, FilteredContours, i, contourColor, 3); + Imgproc.drawContours(outputMat, FilteredContours, i, contourColor, 10); } } diff --git a/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java b/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java index f51c824bd..8efd3dea9 100644 --- a/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java +++ b/Main/src/main/java/com/chameleonvision/vision/process/VisionProcess.java @@ -52,12 +52,12 @@ public class VisionProcess { } private List FilteredContours = new ArrayList(); - List FilterContours(List InputContours, List area, List ratio, List extent, String SortMode, String TargetIntersection, String TargetGrouping){ + List FilterContours(List InputContours, List area, List ratio, List extent, String SortMode, String TargetIntersection, String TargetGrouping) { for (MatOfPoint Contour : InputContours){ try{ var contourArea = Imgproc.contourArea(Contour); double targetArea = (contourArea / CamVals.ImageArea) * 100; - if (targetArea >= area.get(0) || targetArea <= area.get(1)){ + if (targetArea <= area.get(0) || targetArea >= area.get(1)){ continue; } var rect = Imgproc.minAreaRect(new MatOfPoint2f(Contour.toArray())); diff --git a/Main/src/main/java/com/chameleonvision/web/Server.java b/Main/src/main/java/com/chameleonvision/web/Server.java index c899419bf..abc12e20d 100644 --- a/Main/src/main/java/com/chameleonvision/web/Server.java +++ b/Main/src/main/java/com/chameleonvision/web/Server.java @@ -37,7 +37,13 @@ public class Server { // System.out.println(SettingsManager.getInstance().GetCurrentPipeline().); broadcastMessage(ctx, ctx.message()); JSONObject jsonObject = new JSONObject(ctx.message()); - String key = jsonObject.keySet().toArray()[0].toString(); + String key = null; + try { + key = jsonObject.keySet().toArray()[0].toString(); + } catch (Exception ex) { + ex.printStackTrace(); + } + if (key == null) return; Object value = jsonObject.get(key); if (!setField(SettingsManager.getInstance().GetCurrentPipeline(), key, value)) { //If field not in pipeline