diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java index 74ff1a201e66a2e5511a1cbfff015314a83398c8..85591d80a12eeedfaf9f33692f6030a18ca8d9a4 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/ChessTrackActivity.java @@ -4,6 +4,7 @@ package uy.edu.fing.chesstrack; import org.opencv.android.BaseLoaderCallback; import org.opencv.android.CameraBridgeViewBase; import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener; +import org.opencv.android.JavaCameraView; import org.opencv.android.LoaderCallbackInterface; import org.opencv.android.OpenCVLoader; import org.opencv.core.Mat; @@ -25,8 +26,8 @@ public class ChessTrackActivity extends Activity implements CvCameraViewListener private static final String TAG = "CHESSTRACK::Activity"; - // private CameraBridgeViewBase mOpenCvCameraView; private CameraBridgeViewBase mOpenCvCameraView; + //private JavaCameraView mOpenCvCameraView; private Adquisicion adq; private Calibracion calibrar; @@ -68,7 +69,7 @@ public class ChessTrackActivity extends Activity implements CvCameraViewListener super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(R.layout.chess_track_layout); - mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.chess_track_layout); + mOpenCvCameraView = (JavaCameraView) findViewById(R.id.chess_track_layout); mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); mOpenCvCameraView.setCvCameraViewListener(this); @@ -148,8 +149,6 @@ public class ChessTrackActivity extends Activity implements CvCameraViewListener public void onCameraViewStopped() { } - - @Override public Mat onCameraFrame(Mat inputFrame) { // TODO MANEJAR ESTADOS @@ -162,9 +161,9 @@ public class ChessTrackActivity extends Activity implements CvCameraViewListener Log.i(TAG, "calibrada"); inputFrame = adq.processFrame(inputFrame); - // Modelador.getInstance().dividirTablero(inputFrame); - // return Modelador.getInstance().dibujarEscaque(2, 3); - return inputFrame; + Modelador.getInstance().dividirTablero(inputFrame); + return Modelador.getInstance().dibujarEscaque(); + //return inputFrame; } return inputFrame; diff --git a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulomodelador/Modelador.java b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulomodelador/Modelador.java index 567328c35d92a7f96d8a0bd4e298c0027b5157f7..1e796315a3c3c65d69af01a755cf21bfc267375c 100644 --- a/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulomodelador/Modelador.java +++ b/ProyectoAndroid/ChessTrack/src/uy/edu/fing/chesstrack/modulomodelador/Modelador.java @@ -53,10 +53,20 @@ public class Modelador { } } - public Mat dibujarEscaque(int i, int j){ + public Mat dibujarEscaque(){ Mat tmp = Mat.zeros(Calibracion.getInstance().getImagenCalibrada().size(), CvType.CV_8UC4); - Mat subm = tmp.submat(new Rect(new Point(0,0) ,escaques[i][j].size())); - escaques[i][j].copyTo(subm); + Mat subm ; //tmp.submat(new Rect(new Point(0,0) ,escaques[i][j].size())); + //escaques[i][j].copyTo(subm); + int pos_x = 0; + int pos_y = 0; + for (int i = 0; i < CANT_FILAS; i++){ + for (int j = 0; j < CANT_FILAS; j++){ + subm = tmp.submat(new Rect(new Point(pos_x,pos_y) ,escaques[i][j].size())); + escaques[i][j].copyTo(subm); + pos_x = (int) (escaques[i][j].size().width*i +1); + pos_y = (int) (escaques[i][j].size().height*j +1); + } + } return tmp; }