Skip to content

Instantly share code, notes, and snippets.

@Pawandeep-prog
Created February 14, 2023 14:48
Show Gist options
  • Save Pawandeep-prog/48b6c0173083fe87246a6cbea37ac9ad to your computer and use it in GitHub Desktop.
Save Pawandeep-prog/48b6c0173083fe87246a6cbea37ac9ad to your computer and use it in GitHub Desktop.
package com.programminghut.edge_detector;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import org.opencv.android.CameraActivity;
import org.opencv.android.CameraBridgeViewBase;
import org.opencv.android.JavaCamera2View;
import org.opencv.android.JavaCameraView;
import org.opencv.android.OpenCVLoader;
import org.opencv.android.Utils;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
import java.util.Collections;
import java.util.List;
public class MainActivity extends CameraActivity {
JavaCameraView cameraBridgeViewBase;
Mat gray;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
get_permissions();
cameraBridgeViewBase = findViewById(R.id.cameraView);
cameraBridgeViewBase.setCvCameraViewListener(new CameraBridgeViewBase.CvCameraViewListener2() {
@Override
public void onCameraViewStarted(int width, int height) {
}
@Override
public void onCameraViewStopped() {
}
@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
gray = inputFrame.gray();
Imgproc.Canny(gray, gray, 80, 100);
Core.bitwise_not(gray, gray);
return gray;
}
});
if(OpenCVLoader.initDebug()) {
Toast.makeText(this, "opencv loaded success....", Toast.LENGTH_SHORT).show();
cameraBridgeViewBase.enableView();
}
}
@Override
protected List<? extends CameraBridgeViewBase> getCameraViewList() {
return Collections.singletonList(cameraBridgeViewBase);
}
@Override
protected void onDestroy() {
super.onDestroy();
cameraBridgeViewBase.disableView();
}
void get_permissions(){
if(ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
{
requestPermissions(new String[]{Manifest.permission.CAMERA}, 101);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults[0]!=PackageManager.PERMISSION_GRANTED){
get_permissions();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment