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

import org.opencv.calib3d.Calib3d;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint2f;
import org.opencv.core.Size;

import android.util.Log;


public class Calibracion  {
	private Mat imagenCalibrada;
	private Mat imagenOriginal;
	private MatOfPoint2f vertices;
	private static final String TAG = "CHESSTRACK::Calibracion";


	public boolean calibrar(Mat img){
		Log.i(TAG, "INI calibrando");
		boolean OK = false;
		imagenOriginal = img;
		imagenCalibrada = img;
		Size patternSize = new Size(7,7);
		MatOfPoint2f corners = new MatOfPoint2f();
		boolean ret = Calib3d.findChessboardCorners(imagenOriginal, patternSize, corners);
		if (ret){
			Log.i(TAG, "Encontro = " + corners.total());
			Log.i(TAG, "Encontro = " + corners.size().toString());
			Calib3d.drawChessboardCorners(imagenCalibrada, patternSize, corners, ret);
			vertices = corners;
		}
		OK = ret;



		Log.i(TAG, "FIN calibrando = " + ret);
		return OK;
	}


	public Mat getImagenCalibrada() {
		return imagenCalibrada;
	}


	public void setImagenCalibrada(Mat imagenCalibrada) {
		this.imagenCalibrada = imagenCalibrada;
	}


	public MatOfPoint2f getVertices() {
		return vertices;
	}


	public void setVertices(MatOfPoint2f vertices) {
		this.vertices = vertices;
	}





}