2019-11-23 11:55:20 -05:00
|
|
|
package com.chameleonvision.vision.pipeline;
|
|
|
|
|
|
2019-11-25 05:34:04 -05:00
|
|
|
import com.chameleonvision.vision.camera.CameraCapture;
|
2019-11-23 11:55:20 -05:00
|
|
|
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();
|
2019-11-25 05:34:04 -05:00
|
|
|
CameraCapture cameraCapture;
|
2019-11-26 17:57:51 -05:00
|
|
|
public S settings;
|
2019-11-23 11:55:20 -05:00
|
|
|
|
|
|
|
|
protected CVPipeline(S settings) {
|
|
|
|
|
this.settings = settings;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
protected CVPipeline(String pipelineName, S settings) {
|
|
|
|
|
this.settings = settings;
|
|
|
|
|
settings.nickname = pipelineName;
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-25 05:34:04 -05:00
|
|
|
public void initPipeline(CameraCapture camera) {
|
|
|
|
|
cameraCapture = camera;
|
|
|
|
|
cameraCapture.setExposure((int) settings.exposure);
|
|
|
|
|
cameraCapture.setBrightness((int) settings.brightness);
|
2019-11-23 11:55:20 -05:00
|
|
|
}
|
|
|
|
|
abstract public R runPipeline(Mat inputMat);
|
|
|
|
|
}
|