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; } }