2019-11-04 02:23:13 -05:00
|
|
|
package com.chameleonvision.classabstraction.pipeline;
|
|
|
|
|
|
2019-11-07 11:15:54 -05:00
|
|
|
import com.chameleonvision.classabstraction.camera.USBCamera;
|
2019-11-04 02:23:13 -05:00
|
|
|
import org.opencv.core.Mat;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param <R> Pipeline result type
|
|
|
|
|
*/
|
2019-11-07 11:15:54 -05:00
|
|
|
public abstract class CVPipeline<R extends CVPipelineResult, S extends CVPipelineSettings> {
|
|
|
|
|
protected S settings;
|
2019-11-04 02:23:13 -05:00
|
|
|
private Mat inputMat;
|
|
|
|
|
protected Mat outputMat;
|
|
|
|
|
|
2019-11-07 11:15:54 -05:00
|
|
|
public CVPipeline(S settings) {
|
2019-11-04 02:23:13 -05:00
|
|
|
this.settings = settings;
|
|
|
|
|
}
|
|
|
|
|
|
2019-11-07 11:15:54 -05:00
|
|
|
abstract void initPipeline(USBCamera camera);
|
2019-11-04 02:23:13 -05:00
|
|
|
abstract R runPipeline(Mat inputMat);
|
|
|
|
|
}
|