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 8a8b7d943..7869caee5 100644 --- a/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java +++ b/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java @@ -72,6 +72,8 @@ public class CVPipeline2d extends CVPipeline point = Arrays.asList(0, 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 ebc445446..ee3a03f84 100644 --- a/Main/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java +++ b/Main/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java @@ -29,7 +29,7 @@ public class DriverVisionPipeline extends CVPipeline>, Ma this.camProps = camProps; } - public void setConfig(CaptureStaticProperties captureProps) { + public void setConfig(boolean showMultiple,CaptureStaticProperties captureProps) { + settings.showMultiple = showMultiple; camProps = captureProps; } @@ -37,7 +38,11 @@ public class Draw2dContoursPipe implements Pipe>, Ma input.getLeft().copyTo(processBuffer); if (input.getRight().size() > 0) { - for (RotatedRect r : input.getRight()) { + for (int i = 0; i < input.getRight().size() - 1; i++) { + if (i != 0 && !settings.showMultiple){ + break; + } + RotatedRect r = input.getRight().get(i); if (r == null) continue; List drawnContour = new ArrayList<>(); @@ -79,10 +84,10 @@ public class Draw2dContoursPipe implements Pipe>, Ma long processTime = System.nanoTime() - processStartNanos; return Pair.of(outputMat, processTime); } - public static class Draw2dContoursSettings { public boolean showCentroid = false; public boolean showCrosshair = false; + public boolean showMultiple = false; public int boxOutlineSize = 0; public boolean showRotatedBox = false; public boolean showMaximumBox = false; diff --git a/chameleon-client/src/store.js b/chameleon-client/src/store.js index df84d412d..8dd128900 100644 --- a/chameleon-client/src/store.js +++ b/chameleon-client/src/store.js @@ -33,6 +33,7 @@ export default new Vuex.Store({ targetGrouping: 0, targetIntersection: 0, sortMode: 0, + multiple:false, isBinary: 0, calibrationMode: 0 }, diff --git a/chameleon-client/src/views/Camera.vue b/chameleon-client/src/views/Camera.vue index 9e075efb7..afcd4c9ec 100644 --- a/chameleon-client/src/views/Camera.vue +++ b/chameleon-client/src/views/Camera.vue @@ -269,7 +269,11 @@ let p = this.$store.state.point.calculated; let fps = this.$store.state.point.fps; if (p !== undefined) { - return `Pitch: ${parseFloat(p['pitch']).toFixed(2)}, Yaw: ${parseFloat(p['yaw']).toFixed(2)}, Area: ${p['area'].toFixed(2)}, FPS: ${fps.toFixed(2)}` + try { + return `Pitch: ${parseFloat(p['pitch']).toFixed(2)}, Yaw: ${parseFloat(p['yaw']).toFixed(2)}, Area: ${p['area'].toFixed(2)}, FPS: ${fps.toFixed(2)}` + } catch (e) { + return "" + } } else { return undefined; } diff --git a/chameleon-client/src/views/CameraViewes/OutputTab.vue b/chameleon-client/src/views/CameraViewes/OutputTab.vue index d08c4b2e3..f9c7f3910 100644 --- a/chameleon-client/src/views/CameraViewes/OutputTab.vue +++ b/chameleon-client/src/views/CameraViewes/OutputTab.vue @@ -3,6 +3,7 @@ + Calibrate: import CVselect from '../../components/cv-select' + import CVswitch from '../../components/cv-switch' import DualCalibration from "../../components/OutputTab/DualCalibration"; import SingleCalibration from "../../components/OutputTab/SingleCalibration"; + export default { name: 'Output', props: ['value'], components: { CVselect, + CVswitch, SingleCalibration, DualCalibration,