diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Calibracion.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Calibracion.java index 16bb4fe50700e262e26dadd090ab347cbf1a0cf2..9e7d6ab8263ffc2d58c6f0e929dfcd06f6af9212 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Calibracion.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Calibracion.java @@ -8,76 +8,65 @@ import org.opencv.core.Size; import android.util.Log; - -public class Calibracion { - private Mat imagenCalibrada; - private Mat imagenOriginal; - private MatOfPoint2f vertices; +public class Calibracion { private static final String TAG = "CHESSTRACK::Calibracion"; - private static Rect rectPOI = null; - private static Calibracion instance; + private Mat _imagenCalibrada; + private Mat _imagenOriginal; + private MatOfPoint2f _vertices; + private static Rect _rectPOI = null; + + private static Calibracion _instance; - protected Calibracion(){ + protected Calibracion() { } - public static Calibracion getInstance(){ - if(instance == null){ - instance = new Calibracion(); + public static Calibracion getInstance() { + if (_instance == null) { + _instance = new Calibracion(); } - return instance; + return _instance; } - public boolean calibrar(Mat img){ + public boolean calibrar(Mat img) { Log.i(TAG, "INI calibrando"); - boolean OK = false; - imagenOriginal = img; - imagenCalibrada = img; - Size patternSize = new Size(7,7); + _imagenOriginal = img; + _imagenCalibrada = img; + Size patternSize = new Size(7, 7); MatOfPoint2f corners = new MatOfPoint2f(); - boolean ret = Calib3d.findChessboardCorners(imagenOriginal, patternSize, corners); - if (ret){ + 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; + //Calib3d.drawChessboardCorners(_imagenCalibrada, patternSize, corners, ret); // only for debug + _vertices = corners; } - OK = ret; Log.i(TAG, "FIN calibrando = " + ret); - return OK; + return ret; } - - public Mat getImagenCalibrada() { - return imagenCalibrada; + public Mat getImagenCalibrada() { // por que no guardar solo el size.. es lo unico qe se necesita + return _imagenCalibrada; } - public void setImagenCalibrada(Mat imagenCalibrada) { - this.imagenCalibrada = imagenCalibrada; + this._imagenCalibrada = imagenCalibrada; } - public MatOfPoint2f getVertices() { - return vertices; + return _vertices; } - public void setVertices(MatOfPoint2f vertices) { - this.vertices = vertices; + this._vertices = vertices; } public static Rect getRectPOI() { - return rectPOI; + return _rectPOI; } public static void setRectPOI(Rect rectPOI) { - Calibracion.rectPOI = rectPOI; + Calibracion._rectPOI = rectPOI; } - - - - } diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/EcualizarImagen.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/EcualizarImagen.java index 43a56d6418ddfef5011c730fb92770c3d5a511bc..8508a76f794bb1f207df31aeb25f6a888074ce8c 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/EcualizarImagen.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/EcualizarImagen.java @@ -3,17 +3,33 @@ package uy.edu.fing.chesstrack.modulovision.imgproc; import org.opencv.core.Mat; import org.opencv.imgproc.Imgproc; +import android.util.Log; + public class EcualizarImagen implements ImgProcInterface { + private static final String TAG = "CHESSTRACK::Ecualizar"; + @Override public Mat procesarImagen(Mat inputFrame) { - // TODO Auto-generated method stub - //cvEqualizeHist(src,dest) - Mat viewGray = new Mat(); - Imgproc.cvtColor(inputFrame, viewGray, Imgproc.COLOR_BGR2GRAY); - Imgproc.equalizeHist(viewGray,viewGray); - //Imgproc.equalizeHist(inputFrame,inputFrame); - return viewGray; + //List<Mat> channels = new ArrayList<Mat>(); + Mat img_hist_equalized = new Mat(); + + Log.i(TAG, "processing Frame - INI"); + + Imgproc.cvtColor(inputFrame, img_hist_equalized, Imgproc.COLOR_BGR2GRAY); + Imgproc.equalizeHist(img_hist_equalized, img_hist_equalized); + Imgproc.cvtColor(img_hist_equalized, inputFrame, Imgproc.COLOR_GRAY2BGR); + + /*// ecualizar en cada canal + Core.split(inputFrame, channels); // split the image into channels + //Imgproc.equalizeHist(channels.get(0), channels.get(0)); + Imgproc.equalizeHist(channels.get(1), channels.get(1)); + //Imgproc.equalizeHist(channels.get(2), channels.get(2)); + Core.merge(channels, inputFrame); + */ + + Log.i(TAG, "processing Frame - FIN"); + return img_hist_equalized; } }