|
|
|
@ -4,19 +4,25 @@ import org.opencv.android.BaseLoaderCallback; |
|
|
|
|
import org.opencv.android.LoaderCallbackInterface; |
|
|
|
|
import org.opencv.android.OpenCVLoader; |
|
|
|
|
import org.opencv.core.Mat; |
|
|
|
|
import org.opencv.android.CameraBridgeViewBase; |
|
|
|
|
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener; |
|
|
|
|
import org.opencv.android.JavaCameraView; |
|
|
|
|
|
|
|
|
|
import android.app.Activity; |
|
|
|
|
import android.os.Bundle; |
|
|
|
|
import android.util.Log; |
|
|
|
|
import android.view.Menu; |
|
|
|
|
import android.view.MenuItem; |
|
|
|
|
import android.view.SurfaceView; |
|
|
|
|
import android.view.Window; |
|
|
|
|
import android.view.WindowManager; |
|
|
|
|
import android.widget.Toast; |
|
|
|
|
|
|
|
|
|
public class Sample1Java extends Activity implements CvCameraViewListener { |
|
|
|
|
private static final String TAG = "OCVSample::Activity"; |
|
|
|
|
|
|
|
|
|
private JavaCameraView mOpenCvCameraView; |
|
|
|
|
private CameraBridgeViewBase mOpenCvCameraView; |
|
|
|
|
private boolean mIsJavaCamera = true; |
|
|
|
|
private MenuItem mItemSwitchCamera = null; |
|
|
|
|
|
|
|
|
|
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { |
|
|
|
|
@Override |
|
|
|
@ -49,7 +55,13 @@ public class Sample1Java extends Activity implements CvCameraViewListener { |
|
|
|
|
|
|
|
|
|
setContentView(R.layout.tutorial1_surface_view); |
|
|
|
|
|
|
|
|
|
mOpenCvCameraView = (JavaCameraView)findViewById(R.id.tutorial1_activity_surface_view); |
|
|
|
|
if (mIsJavaCamera) |
|
|
|
|
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.tutorial1_activity_java_surface_view); |
|
|
|
|
else |
|
|
|
|
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.tutorial1_activity_native_surface_view); |
|
|
|
|
|
|
|
|
|
mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); |
|
|
|
|
|
|
|
|
|
mOpenCvCameraView.setCvCameraViewListener(this); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -72,6 +84,40 @@ public class Sample1Java extends Activity implements CvCameraViewListener { |
|
|
|
|
mOpenCvCameraView.disableView(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean onCreateOptionsMenu(Menu menu) { |
|
|
|
|
Log.i(TAG, "called onCreateOptionsMenu"); |
|
|
|
|
mItemSwitchCamera = menu.add("Switch camera"); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean onOptionsItemSelected(MenuItem item) { |
|
|
|
|
String toastMesage = new String(); |
|
|
|
|
Log.i(TAG, "called onOptionsItemSelected; selected item: " + item); |
|
|
|
|
|
|
|
|
|
if (item == mItemSwitchCamera) { |
|
|
|
|
mOpenCvCameraView.setVisibility(SurfaceView.GONE); |
|
|
|
|
mIsJavaCamera = !mIsJavaCamera; |
|
|
|
|
|
|
|
|
|
if (mIsJavaCamera) { |
|
|
|
|
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.tutorial1_activity_java_surface_view); |
|
|
|
|
toastMesage = "Java Camera"; |
|
|
|
|
} else { |
|
|
|
|
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.tutorial1_activity_native_surface_view); |
|
|
|
|
toastMesage = "Native Camera"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); |
|
|
|
|
mOpenCvCameraView.setCvCameraViewListener(this); |
|
|
|
|
mOpenCvCameraView.enableView(); |
|
|
|
|
Toast toast = Toast.makeText(this, toastMesage, Toast.LENGTH_LONG); |
|
|
|
|
toast.show(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void onCameraViewStarted(int width, int height) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|