diff --git a/.gitignore b/.gitignore
index d7c7d8888..881a2ab5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -116,3 +116,4 @@ Main/.classpath
Main/.project
*.prefs
+*.jfr
diff --git a/Main/chameleon-vision.iml b/Main/chameleon-vision.iml
index 47e845787..a3c362a46 100644
--- a/Main/chameleon-vision.iml
+++ b/Main/chameleon-vision.iml
@@ -48,20 +48,20 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java b/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java
index de8d43420..f93d9643e 100644
--- a/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java
+++ b/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java
@@ -30,7 +30,7 @@ public class CVPipeline2d extends CVPipeline draw2dContoursResult = draw2dContoursPipe.run(Pair.of(outputMatResult.getLeft(), sortContoursResult.getLeft()));
totalPipelineTimeNanos += draw2dContoursResult.getRight();
- pipelineTimeStringBuilder.append(String.format("PipeInit: %.2fms, ", pipeInitTimeNanos / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("RotateFlip: %.2fms, ", rotateFlipResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("Blur: %.2fms, ", blurResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("ErodeDilate: %.2fms, ", erodeDilateResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("HSV: %.2fms, ", hsvResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("FindContours: %.2fms, ", findContoursResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("FilterContours: %.2fms, ", filterContoursResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("SpeckleReject: %.2fms, ", speckleRejectResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("GroupContours: %.2fms, ", groupContoursResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("SortContours: %.2fms, ", sortContoursResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("Collect2dTargets: %.2fms, ", collect2dTargetsResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("OutputMat: %.2fms, ", outputMatResult.getRight() / 1000000.0));
- pipelineTimeStringBuilder.append(String.format("Draw2dContours: %.2fms, ", draw2dContoursResult.getRight() / 1000000.0));
-
if (Main.testMode) {
- System.out.println(pipelineTimeStringBuilder.toString());
+ pipelineTimeString += String.format("PipeInit: %.2fms, ", pipeInitTimeNanos / 1000000.0);
+ pipelineTimeString += String.format("RotateFlip: %.2fms, ", rotateFlipResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("Blur: %.2fms, ", blurResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("ErodeDilate: %.2fms, ", erodeDilateResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("HSV: %.2fms, ", hsvResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("FindContours: %.2fms, ", findContoursResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("FilterContours: %.2fms, ", filterContoursResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("SpeckleReject: %.2fms, ", speckleRejectResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("GroupContours: %.2fms, ", groupContoursResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("SortContours: %.2fms, ", sortContoursResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("Collect2dTargets: %.2fms, ", collect2dTargetsResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("OutputMat: %.2fms, ", outputMatResult.getRight() / 1000000.0);
+ pipelineTimeString += String.format("Draw2dContours: %.2fms, ", draw2dContoursResult.getRight() / 1000000.0);
+
+ System.out.println(pipelineTimeString);
double totalPipelineTimeMillis = totalPipelineTimeNanos / 1000000.0;
double totalPipelineTimeFPS = 1.0 / (totalPipelineTimeMillis / 1000.0);
double truePipelineTimeMillis = (System.nanoTime() - pipelineStartTimeNanos) / 1000000.0;
diff --git a/Main/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java b/Main/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java
index 41c307de5..2eafad400 100644
--- a/Main/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java
+++ b/Main/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java
@@ -18,6 +18,7 @@ public class DriverVisionPipeline extends CVPipeline>, Ma
private Mat processBuffer = new Mat();
private Mat outputMat = new Mat();
+ private Point[] vertices = new Point[4];
+ private List drawnContours = new ArrayList<>();
+ @SuppressWarnings("FieldCanBeLocal")
+ private Point xMax = new Point(), xMin = new Point(), yMax = new Point(), yMin = new Point();
+
+
public Draw2dContoursPipe(Draw2dContoursSettings settings, CaptureStaticProperties camProps) {
this.settings = settings;
this.camProps = camProps;
@@ -29,9 +35,6 @@ public class Draw2dContoursPipe implements Pipe>, Ma
camProps = captureProps;
}
- private Point[] vertices = new Point[4];
- private List drawnContours = new ArrayList<>();
-
@Override
public Pair run(Pair> input) {
long processStartNanos = System.nanoTime();
@@ -88,9 +91,6 @@ public class Draw2dContoursPipe implements Pipe>, Ma
return Pair.of(outputMat, processTime);
}
- @SuppressWarnings("FieldCanBeLocal")
- private Point xMax = new Point(), xMin = new Point(), yMax = new Point(), yMin = new Point();
-
public static class Draw2dContoursSettings {
public boolean showCentroid = false;
public boolean showCrosshair = false;