How to display Opencv Camera captured image in another screen?

asked 2017-12-03 22:13:36 -0500

Ajay Gohel gravatar image

I'm trying to display processed mat into imageview in another activity. First i'm converting mat to bitmap and then passing bitmap value in imageview. But it is not showing anything in image view. Help me which step i am missing.

CameraScreen Activity

    mOpenCvCameraView.setCvCameraViewListener(this);
    btnCapture = (FloatingActionButton) findViewById(R.id.btnCapture);
    btnCapture.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String timestamp = new SimpleDateFormat("ddMMyyyy_HHmmss", Locale.US).format(new Date());
            File imgFolder = new File(FILE_LOCATION);
            imgFolder.mkdir();
            String fileName = FILE_LOCATION +
                    "/Scan" + timestamp + ".jpg";
            Toast.makeText(CameraScreen.this, fileName + " saved", Toast.LENGTH_SHORT).show();
            cropped = mRgba.submat( bounding_rect );
            Imgproc.cvtColor( cropped, cropped, Imgproc.COLOR_BGR2RGBA );
            Core.flip(cropped.t() , cropped, 1);
            Imgcodecs.imwrite(fileName, cropped);
            bitmap = Bitmap.createBitmap( cropped.cols(), cropped.rows(), Bitmap.Config.ARGB_8888 );
            Utils.matToBitmap(cropped, bitmap);
            Intent intent = new Intent( CameraScreen.this, CameraButton.class );
            startActivity( intent );
        }
    }) ;

This is the Activity where i want to display image

   public class CameraButton extends CameraScreen {
   private ImageView imgview;
   private FloatingActionButton btnCamera;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate( savedInstanceState );
    setContentView( R.layout.activity_camera_button );

    btnCamera = (FloatingActionButton) findViewById( R.id.btnCamera );
    imgview = (ImageView) findViewById( R.id.imgview );
    imgview.setImageBitmap( bitmap );


    btnCamera.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(CameraButton.this, CameraScreen.class));
        }
    });
}
}
edit retag flag offensive close merge delete