From bdee6e5551f26357dec4f1f3b0c35dde724ed331 Mon Sep 17 00:00:00 2001 From: Aylen Ricca <aricca@fing.edu.uy> Date: Thu, 24 Jul 2014 16:53:59 -0300 Subject: [PATCH] clear code. - no corner drawing. - ecualiz. not on but tested --- .../chesstrack/modulovision/Calibracion.java | 67 ++++++++----------- .../modulovision/imgproc/EcualizarImagen.java | 30 +++++++-- 2 files changed, 51 insertions(+), 46 deletions(-) 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 16bb4fe..9e7d6ab 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 43a56d6..8508a76 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; } } -- GitLab