From 423cf2daf99099305a68f219a03d9ce41cf5394c Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 3 Jan 2020 09:28:41 -0800 Subject: [PATCH] Help more with memory usage in speckle reject and draw pipes --- .../vision/pipeline/pipes/Draw2dContoursPipe.java | 1 + .../vision/pipeline/pipes/SpeckleRejectPipe.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java index d1aaf6fb2..9fdb6def9 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java @@ -57,6 +57,7 @@ public class Draw2dContoursPipe implements Pipe(); r.points(vertices); contour.fromArray(vertices); diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java index b66fa43c7..063bcdbb0 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java @@ -2,7 +2,9 @@ package com.chameleonvision.vision.pipeline.pipes; import com.chameleonvision.vision.pipeline.Pipe; import org.apache.commons.lang3.tuple.Pair; +import org.opencv.core.Mat; import org.opencv.core.MatOfPoint; +import org.opencv.core.MatOfPoint2f; import org.opencv.imgproc.Imgproc; import java.util.ArrayList; @@ -26,7 +28,9 @@ public class SpeckleRejectPipe implements Pipe, List, Long> run(List input) { long processStartNanos = System.nanoTime(); + despeckledContours.forEach(MatOfPoint::release); despeckledContours.clear(); + despeckledContours = new ArrayList<>(); if (input.size() > 0) { double averageArea = 0.0;