Merge branch 'class-abstraction' of https://gitlab.com/chameleon-vision/Chameleon-Vision into class-abstraction

This commit is contained in:
Matt
2019-11-16 11:50:53 -08:00
3 changed files with 10 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import edu.wpi.cscore.UsbCameraInfo;
import org.opencv.videoio.VideoCapture;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -51,6 +52,12 @@ public class VisionManager {
File cameraConfigFile = new File(cameraConfigPath.toString());
}
} else {
try {
Files.createDirectory(cameraConfigFolder);
} catch (IOException e) {
e.printStackTrace();
}
}
});

View File

@@ -30,8 +30,6 @@ public class CameraProperties {
public CameraProperties(UsbCamera baseCamera, double fov) {
FOV = fov;
// TODO: determine how to set the initial videomode properly
videoModes = filterVideoModes(baseCamera.enumerateVideoModes());
}

View File

@@ -18,8 +18,9 @@ public class USBCameraProcess implements CameraProcess {
public USBCameraProcess(UsbCamera camera, CameraConfig config) {
baseCamera = camera;
cvSink = CameraServer.getInstance().getVideo(baseCamera);
VideoMode vidMode = new VideoMode(VideoMode.PixelFormat.kYUYV, 640, 480, 60);
properties = new CameraProperties(baseCamera, config.FOV);
setVideoMode(properties.videoModes.get(0));
}
@Override
@@ -58,7 +59,7 @@ public class USBCameraProcess implements CameraProcess {
public void setVideoMode(VideoMode mode) {
try {
baseCamera.setVideoMode(mode);
properties = new CameraProperties(baseCamera, properties.FOV);
properties.updateVideoMode(mode);
} catch (VideoException e) {
System.err.println("Current camera does not support resolution change");
}