@Override public void onPause() { super.onPause(); isRun = false; thread.interrupt(); thread = null; if (mOpenCvCameraView != null) mOpenCvCameraView.disableView(); }
@Override public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i(TAG, "OpenCV loaded successfully"); mOpenCvCameraView.enableView(); mOpenCvCameraView.setOnTouchListener(Tutorial3Activity.this); } break; default: { super.onManagerConnected(status); } break; } }
/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { Log.i(TAG, "called onCreate"); super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); setContentView(R.layout.tutorial3_surface_view); mOpenCvCameraView = (Tutorial3View) findViewById(R.id.tutorial3_activity_java_surface_view); mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); mOpenCvCameraView.setCvCameraViewListener(this); reentrantReadWriteLock = new ReentrantReadWriteLock(); readLock = reentrantReadWriteLock.readLock(); writeLock = reentrantReadWriteLock.writeLock(); }
public boolean onOptionsItemSelected(MenuItem item) { Log.i(TAG, "called onOptionsItemSelected; selected item: " + item); if (item.getGroupId() == 1) { mOpenCvCameraView.setEffect((String) item.getTitle()); Toast.makeText(this, mOpenCvCameraView.getEffect(), Toast.LENGTH_SHORT).show(); } else if (item.getGroupId() == 2) { int id = item.getItemId(); Size resolution = mResolutionList.get(id); mOpenCvCameraView.setResolution(resolution); resolution = mOpenCvCameraView.getResolution(); String caption = Integer.valueOf(resolution.width).toString() + "x" + Integer.valueOf(resolution.height).toString(); Toast.makeText(this, caption, Toast.LENGTH_SHORT).show(); } return true; }
@Override public boolean onCreateOptionsMenu(Menu menu) { List<String> effects = mOpenCvCameraView.getEffectList(); if (effects == null) { Log.e(TAG, "Color effects are not supported by device!"); return true; } mColorEffectsMenu = menu.addSubMenu("Color Effect"); mEffectMenuItems = new MenuItem[effects.size()]; int idx = 0; ListIterator<String> effectItr = effects.listIterator(); while (effectItr.hasNext()) { String element = effectItr.next(); mEffectMenuItems[idx] = mColorEffectsMenu.add(1, idx, Menu.NONE, element); idx++; } mResolutionMenu = menu.addSubMenu("Resolution"); mResolutionList = mOpenCvCameraView.getResolutionList(); mResolutionMenuItems = new MenuItem[mResolutionList.size()]; ListIterator<Size> resolutionItr = mResolutionList.listIterator(); idx = 0; while (resolutionItr.hasNext()) { Size element = resolutionItr.next(); mResolutionMenuItems[idx] = mResolutionMenu.add( 2, idx, Menu.NONE, Integer.valueOf(element.width).toString() + "x" + Integer.valueOf(element.height).toString()); idx++; } return true; }
@SuppressLint("SimpleDateFormat") @Override public boolean onTouch(View v, MotionEvent event) { Log.i(TAG, "onTouch event"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); String currentDateandTime = sdf.format(new Date()); String fileName = Environment.getExternalStorageDirectory().getPath() + "/sample_picture_" + currentDateandTime + ".jpg"; mOpenCvCameraView.takePicture(fileName); Toast.makeText(this, fileName + " saved", Toast.LENGTH_SHORT).show(); return false; }
public void onDestroy() { super.onDestroy(); if (mOpenCvCameraView != null) mOpenCvCameraView.disableView(); }