Skip to content
Snippets Groups Projects
Adquisicion.java 1.27 KiB
Newer Older
package uy.edu.fing.chesstrack.modulovision;



import java.util.ArrayList;
import java.util.List;

import org.opencv.core.Mat;

Aylen Ricca's avatar
Aylen Ricca committed
import uy.edu.fing.chesstrack.modulovision.imgproc.BackgroundSupress;
import uy.edu.fing.chesstrack.modulovision.imgproc.Homografia;
import uy.edu.fing.chesstrack.modulovision.imgproc.ImgProcInterface;
import android.util.Log;



public class Adquisicion   {
	List<ImgProcInterface> listProc;

	private static final String TAG = "CHESSTRACK::Adquisicion";


	public Adquisicion() throws Exception {
		super();
		Log.i(TAG, "Cargado....");
		listProc = new ArrayList<ImgProcInterface>();
		listProc.add( new Homografia());
		//listProc.add( new EcualizarImagen());
		//listProc.add( new SustraccionDeFondo());
		//listProc.add( new BackgroundSupress());

	}

	/**
	 * PRocesa el frame pasado por parametro
	 * @param inputPicture
	 * @return
	 * ver http://dsp.stackexchange.com/questions/2805/how-does-opencv-find-chessboard-corners
	 * http://www.cvg.ethz.ch/teaching/2012fall/cvl/Tutorial-OpenCV.pdf
	 */
	public synchronized Mat processFrame(Mat inputPicture) {
		Log.i(TAG, "processFrame inicia");
		Mat salida = inputPicture;
		Mat prevImg = inputPicture;
		for (ImgProcInterface proc: listProc){
			prevImg = proc.procesarImagen(prevImg);
		}
		return prevImg;

	}