Files
PhotonVision/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline.java

37 lines
1.0 KiB
Java
Raw Normal View History

package com.chameleonvision.vision.pipeline;
import com.chameleonvision.vision.camera.CameraCapture;
import org.opencv.core.Mat;
/**
*
* @param <R> Pipeline result type
*/
public abstract class CVPipeline<R extends CVPipelineResult, S extends CVPipelineSettings> {
protected Mat outputMat = new Mat();
CameraCapture cameraCapture;
public S settings;
protected CVPipeline(S settings) {
this.settings = settings;
}
protected CVPipeline(String pipelineName, S settings) {
this.settings = settings;
settings.nickname = pipelineName;
}
public void initPipeline(CameraCapture camera) {
cameraCapture = camera;
cameraCapture.setVideoMode(settings.videoModeIndex);
cameraCapture.setExposure((int) settings.exposure);
cameraCapture.setBrightness((int) settings.brightness);
2019-11-30 11:08:58 -05:00
cameraCapture.setGain((int) settings.gain);
}
abstract public R runPipeline(Mat inputMat);
2019-11-29 23:13:57 -05:00
public boolean is3D() {
return (this instanceof CVPipeline3d);
}
}