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