Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.application;
- import android.Manifest;
- import android.content.Context;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.os.Bundle;
- import com.google.android.material.floatingactionbutton.FloatingActionButton;
- import com.google.android.material.snackbar.Snackbar;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.appcompat.widget.Toolbar;
- import androidx.core.app.ActivityCompat;
- import androidx.core.content.ContextCompat;
- import android.util.Log;
- import android.view.SurfaceView;
- import android.view.View;
- import android.view.Menu;
- import android.view.MenuItem;
- import org.opencv.android.BaseLoaderCallback;
- import org.opencv.android.CameraBridgeViewBase;
- import org.opencv.android.JavaCameraView;
- import org.opencv.android.LoaderCallbackInterface;
- import org.opencv.android.OpenCVLoader;
- import org.opencv.core.CvType;
- import org.opencv.core.Mat;
- public class MainActivity extends AppCompatActivity implements CameraBridgeViewBase.CvCameraViewListener2
- {
- private CameraBridgeViewBase cameraBridgeViewBase;
- private Mat mat1;
- // OpenCV initialization
- private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this)
- {
- @Override
- public void onManagerConnected(int status) {
- switch (status) {
- case LoaderCallbackInterface.SUCCESS:
- {
- Log.e("MainActivity", "OpenCV initialization successful!");
- cameraBridgeViewBase.enableView();
- } break;
- default:
- {
- super.onManagerConnected(status);
- } break;
- }
- }
- };
- // Permissions
- @Override
- public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
- {
- switch(requestCode)
- {
- case Permissions.PERMISSION_CAMERA:
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
- {
- }
- break;
- }
- }
- // Activity lifecycle
- @Override
- public void onPause()
- {
- super.onPause();
- Log.e("MainActivity", "onPause()");
- }
- @Override
- public void onStart()
- {
- super.onStart();
- Log.e("MainActivity", "onStart()");
- }
- @Override
- public void onResume()
- {
- super.onResume();
- Log.e("MainActivity", "onResume()");
- if (!OpenCVLoader.initDebug())
- {
- Log.d("MainActivity", "Internal OpenCV library not found. Using OpenCV Manager for initialization");
- OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION, this, mLoaderCallback);
- } else
- {
- Log.d("MainActivity", "OpenCV library found inside package. Using it!");
- mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
- }
- }
- @Override
- public void onDestroy()
- {
- super.onDestroy();
- Log.e("MainActivity", "onDestroy()");
- }
- @Override
- protected void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- Log.e("MainActivity", "onCreate()");
- setContentView(R.layout.activity_main);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- cameraBridgeViewBase = findViewById(R.id.cameraView);
- cameraBridgeViewBase.setCameraIndex(CameraBridgeViewBase.CAMERA_ID_FRONT);
- cameraBridgeViewBase.setVisibility(CameraBridgeViewBase.VISIBLE);
- cameraBridgeViewBase.setCvCameraViewListener(this);
- }
- // Camera
- @Override
- public void onCameraViewStarted(int width, int height)
- {
- Log.e("MainActivity", "onCameraViewStarted()");
- mat1 = new Mat(width, height, CvType.CV_8UC4);
- }
- @Override
- public void onCameraViewStopped()
- {
- Log.e("MainActivity", "onCameraViewStopped()");
- mat1.release();
- }
- @Override
- public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame)
- {
- Log.e("MainActivity", "onCameraFrame()");
- mat1 = inputFrame.rgba();
- return mat1;
- }
- // Options menu
- @Override
- public boolean onCreateOptionsMenu(Menu menu)
- {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item)
- {
- int id = item.getItemId();
- if (id == R.id.action_settings) {
- startActivity(new Intent(this, SettingsActivity.class));
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement