

package boofcv.alg.background.moving;

import boofcv.alg.background.BackgroundModelMoving;
import boofcv.alg.distort.PointTransformHomography_F32;
import boofcv.alg.interpolate.TypeInterpolate;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageFloat32;
import boofcv.struct.image.ImageType;
import boofcv.struct.image.ImageUInt8;
import georegression.struct.homography.Homography2D_F32;

/**
 * @author Peter Abeles
 */
public class TestBackgroundMovingGaussian_SB extends GenericBackgroundMovingGaussianChecks
{
	public TestBackgroundMovingGaussian_SB() {
		imageTypes.add(ImageType.single(ImageUInt8.class));
		imageTypes.add(ImageType.single(ImageFloat32.class));
	}

	@Override
	public <T extends ImageBase> BackgroundModelMoving<T, Homography2D_F32>
	create(ImageType<T> imageType) {
		PointTransformHomography_F32 transform = new PointTransformHomography_F32();
		BackgroundMovingGaussian_SB alg =
				new BackgroundMovingGaussian_SB(0.05f,50,transform, TypeInterpolate.BILINEAR,imageType.getImageClass());
		alg.setInitialVariance(12);
		return alg;
	}
}