From ea2df6780cf4eefbddfacaf483ecf1db8e073256 Mon Sep 17 00:00:00 2001 From: Aylen Ricca <aricca@fing.edu.uy> Date: Sat, 26 Jul 2014 16:04:45 -0300 Subject: [PATCH] solved homog. resol --- .../uy/edu/fing/chesstrack/ChessTrackActivity.java | 2 +- .../src/uy/edu/fing/chesstrack/ajedrez/Logica.java | 4 +++- .../edu/fing/chesstrack/modulovision/Manager.java | 4 ++-- .../chesstrack/modulovision/imgproc/Homografia.java | 13 +++++++++++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java index 9672369..027551e 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java @@ -133,7 +133,7 @@ public class ChessTrackActivity extends Activity implements int port = Integer.parseInt(value.toString()); Log.i(TAG, "PORT=" + port); - _manager.setConnection(ip, port); + //_manager.setConnection(ip, port); } } }); diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ajedrez/Logica.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ajedrez/Logica.java index e86db4f..dc06881 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ajedrez/Logica.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ajedrez/Logica.java @@ -6,6 +6,8 @@ import org.opencv.core.Mat; import org.opencv.core.Size; public class Logica { + + private static final String TAG = "CHESSTRACK::Logica"; private Mat _tableroInicio; private Mat _tableroAnterior; @@ -26,7 +28,7 @@ public class Logica { public boolean validarNuevoTablero(Mat actual) { Mat result = new Mat(8, 8, CvType.CV_8UC1); Core.absdiff(actual, _tableroAnterior, result); - if (Core.countNonZero(result) == 0) { + if (Core.countNonZero(result) != 0) { _tableroAnterior = actual; } return (Core.countNonZero(result) != 0); diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Manager.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Manager.java index 9d58966..65dc8fe 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Manager.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Manager.java @@ -133,8 +133,8 @@ public class Manager { if (_logica.validarNuevoTablero(aux)) { if (_salida == OK) { - _client.SendData("Nuevo Tablero Valido = \n" - + String.valueOf(_cantJugada)); + _client.SendData("Nuevo Tablero Valido = [" + + String.valueOf(_cantJugada) + "]\n"); _cantJugada++; _client.SendData(" ".concat(aux.dump().concat("\n"))); } diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/Homografia.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/Homografia.java index e4d37c5..1834f33 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/Homografia.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/imgproc/Homografia.java @@ -72,11 +72,20 @@ public class Homografia implements ImgProcInterface { @Override public Mat procesarImagen(Mat inputFrame) { Log.i(TAG, "processing Frame - INI"); + double x = inputFrame.size().width; + double y = inputFrame.size().height; + if (x < _rectROI.size().width){ + x = _rectROI.size().width; + } + if (y < _rectROI.size().height){ + y = _rectROI.size().height; + } + Mat aux = new Mat(); // hace la homografia con la matriz calculada en un ppio - Imgproc.warpPerspective(inputFrame,inputFrame, _matrizTransformada, inputFrame.size()); + Imgproc.warpPerspective(inputFrame,aux, _matrizTransformada, new Size(x,y)); Mat tmp = Mat.zeros(_rectROI.size(), CvType.CV_8UC4); - (inputFrame.submat(_rectROI)).copyTo(tmp); + (aux.submat(_rectROI)).copyTo(tmp); Log.i(TAG, "processing Frame - FIN"); return tmp; -- GitLab