Instantiate vision processes based on loaded configs

This commit is contained in:
Matt
2019-11-19 21:29:15 -08:00
parent d3a39888e9
commit 824017b792
2 changed files with 13 additions and 7 deletions

View File

@@ -1,21 +1,19 @@
package com.chameleonvision.classabstraction;
import com.chameleonvision.classabstraction.camera.USBCameraProcess;
import com.chameleonvision.classabstraction.config.CameraConfig;
import com.chameleonvision.classabstraction.config.ConfigManager;
import com.chameleonvision.settings.SettingsManager;
import com.chameleonvision.util.FileHelper;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import edu.wpi.cscore.UsbCamera;
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;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
public class VisionManager {
@@ -48,7 +46,15 @@ public class VisionManager {
FileHelper.CheckPath(CamConfigPath);
// load the config
var loadedConfigs = ConfigManager.initializeCameraConfig(new ArrayList<>(UsbCameraInfosByCameraName.keySet()));
List<CameraConfig> loadedConfigs = ConfigManager.initializeCameraConfig(new ArrayList<>(UsbCameraInfosByCameraName.keySet()));
loadedConfigs.forEach(config -> {
var camera = new USBCameraProcess(
new edu.wpi.cscore.UsbCamera(config.name, config.path),
config
);
VisionProcessesByCameraName.put(config.name, new VisionProcess(camera, config.name));
});
// UsbCameraInfosByCameraName.forEach((cameraName, cameraInfo) -> {
// Path cameraConfigFolder = Paths.get(CamConfigPath.toString(), String.format("%s\\", cameraName));