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;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
}
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;
}
}