@Override public void onResume() { super.onResume(); mNativeController = CreateNativeController(); mCameraView.enableView(); mCameraView.setOnTouchListener(CameraActivity.this); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_open_cv); ButterKnife.bind(this); cameraView.setVisibility(View.VISIBLE); cameraView.setCvCameraViewListener(this); }
@Override public void onCameraReady() { if (initWebServer()) { int wid = cameraView_.Width(); int hei = cameraView_.Height(); cameraView_.StopPreview(); cameraView_.setupCamera(wid, hei, previewCb_); cameraView_.StartPreview(); } }
@Override public String run(Properties parms) { int wid = Integer.parseInt(parms.getProperty("wid")); int hei = Integer.parseInt(parms.getProperty("hei")); Log.d(TAG, ">>>>>>>run in doSetup wid = " + wid + " hei=" + hei); cameraView_.StopPreview(); cameraView_.setupCamera(wid, hei, previewCb_); cameraView_.StartPreview(); return "OK"; }
@Override public void onCameraViewStarted(int width, int height) { cameraView.setResolution(cameraView.getResolutionList().get(10)); // creates a new BackgroundSubtractorMOG class with the arguments // creates matrices to hold the different frames mRgb = new Mat(); mFGMask = new Mat(); mGray = new Mat(); // arraylist to hold individual contours contours = new ArrayList<MatOfPoint>(); }
@Override public void onPause() { super.onPause(); if (mCameraView != null) { mCameraView.disableView(); } }
@Override protected void cancel() { if (photoView != null) { photoView.finalise(); photoView = null; } }
@Override protected void onDestroy() { super.onDestroy(); if (cameraView != null) { cameraView.disableView(); } }
public void stopCamera() { if (!flagPreviewInitialized) { return; } if (mCamera != null) { mPreview.stopCameraPreview(); mPreview.setCamera(null, null); cameraLayout.removeView(mPreview); removeView(cameraLayout); cameraLayout = null; this.cameraInstanceManager.releaseCamera(mCamera); } if (mCameraHandlerThread != null) { mCameraHandlerThread.quit(); mCameraHandlerThread = null; } flagPreviewInitialized = false; }
private void initCamera() { SurfaceView cameraSurface = (SurfaceView) findViewById(R.id.surface_camera); cameraView_ = new CameraView(cameraSurface); cameraView_.setCameraReadyCallback(this); overlayView_ = (OverlayView) findViewById(R.id.surface_overlay); overlayView_.setOnTouchListener(this); overlayView_.setUpdateDoneCallback(this); }
private void releaseCamera() { Log.d(TAG, "Releasing camera"); try { cameraView.stop(); camera.release(); } catch (Exception e) { Log.e(TAG, "Error releasing camera", e); } }
public void onDestroy() { super.onDestroy(); if (mCameraView != null) { mCameraView.disableView(); } if (mNativeController != 0) { DestroyNativeController(mNativeController); } }
@Override public String run(Properties parms) { String ret = ""; List<Camera.Size> supportSize = cameraView_.getSupportedPreviewSize(); ret = ret + "" + cameraView_.Width() + "x" + cameraView_.Height() + "|"; for (int i = 0; i < supportSize.size() - 1; i++) { ret = ret + "" + supportSize.get(i).width + "x" + supportSize.get(i).height + "|"; } int i = supportSize.size() - 1; ret = ret + "" + supportSize.get(i).width + "x" + supportSize.get(i).height; JSONObject obj = new JSONObject(); try { obj.put("camsize", ret); obj.put("quality", mQuality); } catch (JSONException e) { e.printStackTrace(); } return obj.toString(); }
private void openCamera() { Log.d(TAG, "Opening camera"); try { camera = Camera.open(); cameraView.start(camera, new QrCodeDecoder(this), 0, true); } catch (Exception e) { Log.e(TAG, "Error opening camera", e); } }
@Override public InputStream streaming(Properties parms) { VideoFrame targetFrame = null; for (int i = 0; i < maxVideoNumber; i++) { if (videoFrames[i].acquire()) { targetFrame = videoFrames[i]; break; } } // return 503 internal error if (targetFrame == null) { Log.d(TAG, "No free videoFrame found!"); return null; } // compress yuv to jpeg int picWidth = cameraView_.Width(); int picHeight = cameraView_.Height(); YuvImage newImage = new YuvImage(preFrame, ImageFormat.NV21, picWidth, picHeight, null); targetFrame.reset(); boolean ret; inProcessing = true; try { ret = newImage.compressToJpeg(new Rect(0, 0, picWidth, picHeight), mQuality, targetFrame); } catch (Exception ex) { ret = false; } inProcessing = false; // compress success, return ok if (ret == true) { parms.setProperty("mime", "image/jpeg"); InputStream ins = targetFrame.getInputStream(); return ins; } // send 503 error targetFrame.release(); return null; }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Copy necessary resources. deployResources(); // Setup our camera view setContentView(R.layout.activity_camera); mCameraView = (CameraView) findViewById(R.id.primary_camera_view); mCameraView.setVisibility(SurfaceView.VISIBLE); mCameraView.setCvCameraViewListener(this); mCameraView.setMaxFrameSize(640, 480); // mCameraView.enableFpsMeter(); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); if (mNativeController == 0) { mNativeController = CreateNativeController(); } }
@Override public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { cameraView.enableView(); cameraView.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { captureBackground = true; } }); } break; default: { super.onManagerConnected(status); } break; } }
@Override public String run(Properties parms) { int degree = Integer.parseInt(parms.getProperty("degree")); Log.d(TAG, ">>>>>>>run in doRotate degree = " + degree); cameraView_.StopPreview(); cameraView_.Rotate(degree); cameraView_.setupCamera(cameraView_.Width(), cameraView_.Height(), previewCb_); cameraView_.StartPreview(); return "OK"; }
@Override protected View getPlatformView( boolean onPage, boolean enabled, Record record, boolean newRecord) { // TODO take "enabled" into account if (onPage) { // TODO photo-on-page button return null; } else { if (photoView == null) photoView = new CameraView(collectorUI.getContext()); // Init/reset the view: photoView.update(); // Return view: return photoView; } }
// From the OnClickListener public void onClick(View v) { cameraView.takePicture(null, null, this); }
public void onPreviewFrame(byte[] frame, Camera c) { if (!inProcessing) { inProcessing = true; int picWidth = cameraView_.Width(); int picHeight = cameraView_.Height(); ByteBuffer bbuffer = ByteBuffer.wrap(frame); try { bbuffer.get(preFrame, 0, picWidth * picHeight + picWidth * picHeight / 2); int numFilled = 0; int y = picHeight / 2; for (int i = 0; i < PIN_LENGTH; i++) { int x = picWidth / 2 + (int) ((i + 0.5f - PIN_LENGTH / 2) * SYMBOL_SPACING * picWidth); int p = 0; // Take 4 nearby pixels, to filter out noise p += preFrame[picWidth * y + x] & 0xFF; p += preFrame[picWidth * y + x + 1] & 0xFF; p += preFrame[picWidth * (y + 1) + x] & 0xFF; p += preFrame[picWidth * (y + 1) + x + 1] & 0xFF; p /= 4; pinEntered[i] = (p < BRIGHTNESS_THRESHOLD); if (pinEntered[i]) numFilled++; } overlayView_.invalidate(); if (System.currentTimeMillis() > delay) { delay = System.currentTimeMillis() + SEND_DELAY; if (sendEnter && numFilled == 0) { sendEnter = false; currentPin++; runOnUiThread( new Runnable() { public void run() { tvMessage2.setText("PIN: " + currentPin); } }); } if (sendEnter && numFilled == PIN_LENGTH) { final String[] cmd = { "/system/bin/sh", "-c", "echo 'echo enter | " + getFilesDir().getAbsolutePath() + "/hid-gadget-test /dev/hidg0 keyboard' | su" }; runOnUiThread( new Runnable() { public void run() { tvMessage2.setText("PIN: " + currentPin + " - sending Enter"); } }); Runtime.getRuntime().exec(cmd).waitFor(); } if (!sendEnter && numFilled == PIN_LENGTH) { sendEnter = true; } if (!sendEnter && numFilled < PIN_LENGTH) { final int digit = (currentPin / (int) Math.pow(10, PIN_LENGTH - numFilled - 1)) % 10; final int pos = numFilled + 1; final String[] cmd = { "/system/bin/sh", "-c", "echo 'echo " + digit + " | " + getFilesDir().getAbsolutePath() + "/hid-gadget-test /dev/hidg0 keyboard' | su" }; runOnUiThread( new Runnable() { public void run() { tvMessage2.setText( "PIN: " + String.format("%04d", currentPin) + " - sending digit #" + pos + " : " + digit); } }); Runtime.getRuntime().exec(cmd).waitFor(); } } } catch (Exception e) { e.printStackTrace(); } inProcessing = false; } }
@Override public String run(Properties parms) { Log.d(TAG, ">>>>>>>run in doAutoFocus"); cameraView_.AutoFocus(); return "OK"; }
private void takePicture() { File imageFile = makeUniqueImagePath(); mCameraView.takePicture(imageFile.getPath()); Toast.makeText(this, "Picture saved as " + imageFile.getName(), Toast.LENGTH_SHORT).show(); mImagePaths = imageFile.getPath(); }
public void stopCameraPreview() { if (mPreview != null) { mPreview.stopCameraPreview(); } }
protected void resumeCameraPreview() { if (mPreview != null) { mPreview.showCameraPreview(); } }
public void setAutoFocus(boolean state) { mAutofocusState = state; if (mPreview != null) { mPreview.setAutoFocus(state); } }