From 5199684913c52af229f9b26bd9efa93f8745b85d Mon Sep 17 00:00:00 2001 From: nfurquez <nfurquez@fing.edu.uy> Date: Sat, 26 Jul 2014 11:01:13 -0300 Subject: [PATCH] se agrga menu jugar --- .../fing/chesstrack/ChessTrackActivity.java | 34 ++++++++++--------- .../modulovision/DetectorOclusion.java | 7 ++-- .../fing/chesstrack/modulovision/Manager.java | 8 ++--- 3 files changed, 27 insertions(+), 22 deletions(-) diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java index ca640a7..f5f128e 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java @@ -21,8 +21,7 @@ import android.view.SurfaceView; import android.view.WindowManager; import android.widget.EditText; -public class ChessTrackActivity extends Activity implements - CvCameraViewListener { +public class ChessTrackActivity extends Activity implements CvCameraViewListener { private static final String TAG = "CHESSTRACK::Activity"; private static final String IPV4_REGEX = "^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$"; @@ -39,10 +38,10 @@ public class ChessTrackActivity extends Activity implements private Manager _manager; private MenuItem _mItemCalibrar; private MenuItem _mItemServer; + private MenuItem _mItemJugar; private int _estado; - private final BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback( - this) { + private final BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { @@ -51,11 +50,11 @@ public class ChessTrackActivity extends Activity implements Log.i(TAG, "OpenCV loaded successfully"); _mOpenCvCameraView.enableView(); } - break; + break; default: { super.onManagerConnected(status); } - break; + break; } } }; @@ -63,8 +62,7 @@ public class ChessTrackActivity extends Activity implements @Override public void onResume() { super.onResume(); - OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, - mLoaderCallback); + OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback); } @Override @@ -92,10 +90,10 @@ public class ChessTrackActivity extends Activity implements alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int whichButton) { - _manager.setConnection("192.168.1.101", 5555); //FIXME DELETE !!!! + _manager.setConnection("192.168.1.101", 5555); // FIXME DELETE + // !!!! Editable value = input.getText(); - if (value == null || value.toString().equals("") - || !value.toString().matches(IPV4_REGEX)) { + if (value == null || value.toString().equals("") || !value.toString().matches(IPV4_REGEX)) { Log.i(TAG, "INPUT= not valid IP" + value.toString()); getServerIp(); } else { @@ -123,8 +121,7 @@ public class ChessTrackActivity extends Activity implements public void onClick(DialogInterface dialog, int whichButton) { Editable value = input.getText(); Log.i(TAG, "INPUT=" + value.toString()); - if (value == null || value.toString().equals("") - || !value.toString().matches(PORT_REGEX)) { + if (value == null || value.toString().equals("") || !value.toString().matches(PORT_REGEX)) { Log.i(TAG, "INPUT= not valid PORT" + value.toString()); getServerPort(ip); } else { @@ -145,6 +142,7 @@ public class ChessTrackActivity extends Activity implements Log.i(TAG, "called onCreateOptionsMenu"); _mItemCalibrar = menu.add("Calibrar.."); _mItemServer = menu.add("Conectar Server"); + _mItemJugar = menu.add("Jugar!!!"); return true; } @@ -157,6 +155,9 @@ public class ChessTrackActivity extends Activity implements } } else if (item == _mItemServer) { getServerIp(); + } else if (item == _mItemJugar) { + _estado = JUGAR; + } return true; } @@ -195,15 +196,16 @@ public class ChessTrackActivity extends Activity implements case CALIBRAR: Log.i(TAG, "calibrando..."); if (_manager.calibrar(inputFrame)) { - _estado = JUGAR; + // _estado = JUGAR; + _estado = IDLE; } else { _estado = IDLE; } break; case JUGAR: Log.i(TAG, "jugando..."); - return _manager.processFrame(inputFrame); - // break; + _manager.processFrame(inputFrame); + break; case IDLE: break; } diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/DetectorOclusion.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/DetectorOclusion.java index daa47d2..9ee8745 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/DetectorOclusion.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/DetectorOclusion.java @@ -5,7 +5,7 @@ import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.Scalar; import org.opencv.core.Size; -import org.opencv.imgproc.*; +import org.opencv.imgproc.Imgproc; import org.opencv.video.BackgroundSubtractorMOG2; import android.util.Log; @@ -19,7 +19,7 @@ public class DetectorOclusion { private static final int ENVIAR_TABLERO = 3; private static final int START = -1; - private Mat _fgMaskMOG2; + private final Mat _fgMaskMOG2; private Mat _resultado; private BackgroundSubtractorMOG2 _pMOG2; private final Mat _morphKernel; @@ -48,6 +48,9 @@ public class DetectorOclusion { } public boolean hayNuevoTableroValido(Mat inputFrame) { + if (_estadoACTUAL == START){ + _pMOG2 = new BackgroundSubtractorMOG2(); // MOG2 approach + } Log.i(TAG, "Procesar!"); Log.i(TAG, "Region SIZE=" + inputFrame.size()); 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 40e50b3..5790a38 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Manager.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulovision/Manager.java @@ -38,7 +38,7 @@ public class Manager { _salida = NOT; _adquisicion = null; _client = null; - _debug = true; + _debug = false; } public static Manager getInstance() { @@ -110,18 +110,18 @@ public class Manager { break; case JUGANDO: Log.i(TAG, "Jugando"); - //if (_detectorOclusion.hayNuevoTableroValido(region)) { + if (_detectorOclusion.hayNuevoTableroValido(region)) { Log.i(TAG, "Tablero Valido"); // llamar al modelador Mat aux = _modelador.getMatrizFichas(region); Log.i(TAG, "MATRIZ=" + aux.dump()); - region = _modelador.dibujarEscaquesSobel(2); + //region = _modelador.dibujarEscaquesSobel(2); if (_salida == OK) { _client.SendData("Nuevo Tablero Valido!\n"); _client.SendData(" ".concat(aux.dump().concat("\n"))); } - //} + } break; } -- GitLab