Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.89 KB | None | 0 0
  1. package com.example.application;
  2.  
  3. import android.Manifest;
  4. import android.content.Context;
  5. import android.content.Intent;
  6. import android.content.pm.PackageManager;
  7. import android.os.Bundle;
  8.  
  9. import com.google.android.material.floatingactionbutton.FloatingActionButton;
  10. import com.google.android.material.snackbar.Snackbar;
  11.  
  12. import androidx.appcompat.app.AppCompatActivity;
  13. import androidx.appcompat.widget.Toolbar;
  14. import androidx.core.app.ActivityCompat;
  15. import androidx.core.content.ContextCompat;
  16.  
  17. import android.util.Log;
  18. import android.view.SurfaceView;
  19. import android.view.View;
  20. import android.view.Menu;
  21. import android.view.MenuItem;
  22.  
  23. import org.opencv.android.BaseLoaderCallback;
  24. import org.opencv.android.CameraBridgeViewBase;
  25. import org.opencv.android.JavaCameraView;
  26. import org.opencv.android.LoaderCallbackInterface;
  27. import org.opencv.android.OpenCVLoader;
  28. import org.opencv.core.CvType;
  29. import org.opencv.core.Mat;
  30.  
  31. public class MainActivity extends AppCompatActivity implements CameraBridgeViewBase.CvCameraViewListener2
  32. {
  33.     private CameraBridgeViewBase cameraBridgeViewBase;
  34.     private Mat mat1;
  35.  
  36.     // OpenCV initialization
  37.     private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this)
  38.     {
  39.         @Override
  40.         public void onManagerConnected(int status) {
  41.             switch (status) {
  42.                 case LoaderCallbackInterface.SUCCESS:
  43.                 {
  44.                     Log.e("MainActivity", "OpenCV initialization successful!");
  45.                     cameraBridgeViewBase.enableView();
  46.                 } break;
  47.                 default:
  48.                 {
  49.                     super.onManagerConnected(status);
  50.                 } break;
  51.             }
  52.         }
  53.     };
  54.  
  55.     // Permissions
  56.     @Override
  57.     public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
  58.     {
  59.         switch(requestCode)
  60.         {
  61.             case Permissions.PERMISSION_CAMERA:
  62.                 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
  63.                 {
  64.  
  65.                 }
  66.                 break;
  67.         }
  68.     }
  69.  
  70.     // Activity lifecycle
  71.     @Override
  72.     public void onPause()
  73.     {
  74.         super.onPause();
  75.         Log.e("MainActivity", "onPause()");
  76.     }
  77.  
  78.     @Override
  79.     public void onStart()
  80.     {
  81.         super.onStart();
  82.         Log.e("MainActivity", "onStart()");
  83.     }
  84.  
  85.     @Override
  86.     public void onResume()
  87.     {
  88.         super.onResume();
  89.         Log.e("MainActivity", "onResume()");
  90.  
  91.  
  92.         if (!OpenCVLoader.initDebug())
  93.         {
  94.             Log.d("MainActivity", "Internal OpenCV library not found. Using OpenCV Manager for initialization");
  95.  
  96.             OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION, this, mLoaderCallback);
  97.         } else
  98.         {
  99.             Log.d("MainActivity", "OpenCV library found inside package. Using it!");
  100.             mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
  101.         }
  102.     }
  103.  
  104.     @Override
  105.     public void onDestroy()
  106.     {
  107.         super.onDestroy();
  108.         Log.e("MainActivity", "onDestroy()");
  109.     }
  110.  
  111.     @Override
  112.     protected void onCreate(Bundle savedInstanceState)
  113.     {
  114.         super.onCreate(savedInstanceState);
  115.         Log.e("MainActivity", "onCreate()");
  116.  
  117.  
  118.         setContentView(R.layout.activity_main);
  119.         Toolbar toolbar = findViewById(R.id.toolbar);
  120.         setSupportActionBar(toolbar);
  121.  
  122.         cameraBridgeViewBase = findViewById(R.id.cameraView);
  123.         cameraBridgeViewBase.setCameraIndex(CameraBridgeViewBase.CAMERA_ID_FRONT);
  124.         cameraBridgeViewBase.setVisibility(CameraBridgeViewBase.VISIBLE);
  125.         cameraBridgeViewBase.setCvCameraViewListener(this);
  126.     }
  127.  
  128.     // Camera
  129.     @Override
  130.     public void onCameraViewStarted(int width, int height)
  131.     {
  132.         Log.e("MainActivity", "onCameraViewStarted()");
  133.         mat1 = new Mat(width, height, CvType.CV_8UC4);
  134.     }
  135.  
  136.     @Override
  137.     public void onCameraViewStopped()
  138.     {
  139.         Log.e("MainActivity", "onCameraViewStopped()");
  140.         mat1.release();
  141.     }
  142.  
  143.     @Override
  144.     public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame)
  145.     {
  146.         Log.e("MainActivity", "onCameraFrame()");
  147.  
  148.         mat1 = inputFrame.rgba();
  149.         return mat1;
  150.     }
  151.  
  152.     // Options menu
  153.     @Override
  154.     public boolean onCreateOptionsMenu(Menu menu)
  155.     {
  156.         // Inflate the menu; this adds items to the action bar if it is present.
  157.         getMenuInflater().inflate(R.menu.menu_main, menu);
  158.         return true;
  159.     }
  160.  
  161.     @Override
  162.     public boolean onOptionsItemSelected(MenuItem item)
  163.     {
  164.         int id = item.getItemId();
  165.  
  166.         if (id == R.id.action_settings) {
  167.             startActivity(new Intent(this, SettingsActivity.class));
  168.             return true;
  169.         }
  170.  
  171.         return super.onOptionsItemSelected(item);
  172.     }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement