diff --git a/Main/src/main/java/com/chameleonvision/config/CameraJsonConfig.java b/Main/src/main/java/com/chameleonvision/config/CameraJsonConfig.java index ebd9e6b56..4f654e7d0 100644 --- a/Main/src/main/java/com/chameleonvision/config/CameraJsonConfig.java +++ b/Main/src/main/java/com/chameleonvision/config/CameraJsonConfig.java @@ -32,6 +32,6 @@ public class CameraJsonConfig { public static CameraJsonConfig fromUSBCameraProcess(USBCameraCapture process) { USBCameraProperties camProps = process.getProperties(); - return new CameraJsonConfig(camProps.FOV, camProps.name, camProps.path, camProps.getNickname()); + return new CameraJsonConfig(camProps.getFOV(), camProps.name, camProps.path, camProps.getNickname()); } } diff --git a/Main/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java b/Main/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java index fb678d505..8d9e4d749 100644 --- a/Main/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java +++ b/Main/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java @@ -27,18 +27,20 @@ public class CameraStreamer { } public void setDivisor(StreamDivisor newDivisor, boolean updateUI) { - this.divisor = newDivisor; - var camValues = cameraCapture.getProperties(); - var newWidth = camValues.getStaticProperties().imageWidth / newDivisor.value; - var newHeight = camValues.getStaticProperties().imageHeight / newDivisor.value; - synchronized (streamBufferLock) { - this.streamBuffer = new Mat(newWidth, newHeight, CvType.CV_8UC3); - this.cvSource = CameraServer.getInstance().putVideo(this.name, - cameraCapture.getProperties().getStaticProperties().imageWidth / divisor.value, - cameraCapture.getProperties().getStaticProperties().imageHeight / divisor.value); - } - if (updateUI) { - SocketHandler.sendFullSettings(); + if (divisor != newDivisor) { + this.divisor = newDivisor; + var camValues = cameraCapture.getProperties(); + var newWidth = camValues.getStaticProperties().imageWidth / newDivisor.value; + var newHeight = camValues.getStaticProperties().imageHeight / newDivisor.value; + synchronized (streamBufferLock) { + this.streamBuffer = new Mat(newWidth, newHeight, CvType.CV_8UC3); + this.cvSource = CameraServer.getInstance().putVideo(this.name, + cameraCapture.getProperties().getStaticProperties().imageWidth / divisor.value, + cameraCapture.getProperties().getStaticProperties().imageHeight / divisor.value); + } + if (updateUI) { + SocketHandler.sendFullSettings(); + } } } diff --git a/Main/src/main/java/com/chameleonvision/vision/camera/USBCameraProperties.java b/Main/src/main/java/com/chameleonvision/vision/camera/USBCameraProperties.java index d98e221ba..7d8d10327 100644 --- a/Main/src/main/java/com/chameleonvision/vision/camera/USBCameraProperties.java +++ b/Main/src/main/java/com/chameleonvision/vision/camera/USBCameraProperties.java @@ -38,7 +38,7 @@ public class USBCameraProperties extends CaptureProperties { public final boolean isPS3Eye; private String nickname; - public double FOV; + private double FOV; USBCameraProperties(UsbCamera baseCamera, CameraJsonConfig config) { FOV = config.fov; @@ -67,6 +67,15 @@ public class USBCameraProperties extends CaptureProperties { videoModes = filterVideoModes(baseCamera.enumerateVideoModes()); } + public void setFOV(double FOV) { + this.FOV = FOV; + staticProperties = new CaptureStaticProperties(staticProperties.imageWidth, staticProperties.imageHeight, FOV); + } + + public double getFOV() { + return FOV; + } + public void setNickname(String nickname) { this.nickname = nickname; } 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 bea4c9b8e..74cdd6a05 100644 --- a/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java +++ b/Main/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java @@ -143,7 +143,7 @@ public class CVPipeline2d extends CVPipeline outputMatResult = outputMatPipe.run(Pair.of(rawCameraMat, hsvResult.getLeft())); + Pair outputMatResult = outputMatPipe.run(Pair.of(rotateFlipResult.getLeft(), hsvResult.getLeft())); totalPipelineTimeNanos += outputMatResult.getRight(); // takes pair of (Mat to draw on, List of sorted contours) diff --git a/Main/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java b/Main/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java index b2d3df9aa..d44f0f1ff 100644 --- a/Main/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java +++ b/Main/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java @@ -41,7 +41,7 @@ public class GroupContoursPipe implements Pipe, List 0) { + if (input.size() > (group.equals(TargetGroup.Single) ? 0 : 1)) { List sorted = new ArrayList<>(input); sorted.sort(sortByMomentsX); @@ -88,7 +88,6 @@ public class GroupContoursPipe implements Pipe, List tmp = new HashMap<>(); VisionProcess currentVisionProcess = VisionManager.getCurrentUIVisionProcess(); CameraCapture currentCamera = VisionManager.getCurrentUIVisionProcess().getCamera(); - tmp.put("fov", currentCamera.getProperties().FOV); + tmp.put("fov", currentCamera.getProperties().getFOV()); tmp.put("streamDivisor", currentVisionProcess.cameraStreamer.getDivisor().ordinal()); // TODO: (HIGH) get videomode index! // tmp.put("resolution", currentCamera.getVideoModeIndex()); diff --git a/chameleon-client/src/views/Camera.vue b/chameleon-client/src/views/Camera.vue index 04011a568..1044efebd 100644 --- a/chameleon-client/src/views/Camera.vue +++ b/chameleon-client/src/views/Camera.vue @@ -269,7 +269,7 @@ 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) + " FPS: " + fps.toFixed(2)) + return `Pitch: ${parseFloat(p['pitch']).toFixed(2)}, Yaw: ${parseFloat(p['yaw']).toFixed(2)}, Area: ${p['area'].toFixed(2)}, FPS: ${fps.toFixed(2)}` } else { return undefined; } diff --git a/chameleon-client/src/views/CameraViewes/InputTab.vue b/chameleon-client/src/views/CameraViewes/InputTab.vue index c872e0109..13f187cb4 100644 --- a/chameleon-client/src/views/CameraViewes/InputTab.vue +++ b/chameleon-client/src/views/CameraViewes/InputTab.vue @@ -2,8 +2,8 @@
- +
diff --git a/tets/src/main/java/com/animal.java b/tets/src/main/java/com/animal.java deleted file mode 100644 index dc4ec5401..000000000 --- a/tets/src/main/java/com/animal.java +++ /dev/null @@ -1,4 +0,0 @@ -public class animal{ - String name; -} - diff --git a/tets/src/main/java/com/cat.java b/tets/src/main/java/com/cat.java deleted file mode 100644 index 820e617d9..000000000 --- a/tets/src/main/java/com/cat.java +++ /dev/null @@ -1,3 +0,0 @@ -public class cat extends animal{ - String meow = "mowe"; -} diff --git a/tets/src/main/java/com/cow.java b/tets/src/main/java/com/cow.java deleted file mode 100644 index 4c7c70c16..000000000 --- a/tets/src/main/java/com/cow.java +++ /dev/null @@ -1,3 +0,0 @@ -public class cow extends animal{ - String moo = "mooo"; -} diff --git a/tets/src/main/java/main.java b/tets/src/main/java/main.java deleted file mode 100644 index ede4beca3..000000000 --- a/tets/src/main/java/main.java +++ /dev/null @@ -1,4 +0,0 @@ -package PACKAGE_NAME; - -public class main { -}