Convertir mapa de bits a Mat después de capturar la imagen con la cámara de Android

Mat b = new Mat(); Bitmap bmp = getIntent().getExtras().getParcelable("image_send"); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_image); Mat tmp = new Mat (bmp.getWidth(), bmp.getHeight(), CvType.CV_8UC1); Utils.bitmapToMat(bmp, tmp); Imgproc.cvtColor(tmp, tmp, Imgproc.COLOR_RGB2GRAY); //Imgproc.cvtColor(tmp, tmp, Imgproc.COLOR_GRAY2RGB, 4); Utils.matToBitmap(tmp, bmp); iv = (ImageView) findViewById(R.id.imageView1); iv.setImageBitmap(bmp); } 

No se puede mostrar el bmp. Mi aplicación se ha detenido después de tomar una foto.

3 Solutions collect form web for “Convertir mapa de bits a Mat después de capturar la imagen con la cámara de Android”

 import org.opencv.android.Utils; Bitmap bmp32 = bmpGallery.copy(Bitmap.Config.ARGB_8888, true); Utils.bitmapToMat(bmp32, imgMAT); 

Espero que eso te ayude.

Mat tmp = new Mat (bmp.getWidth(), bmp.getHeight(), CvType.CV_8UC1);

OpenCV Mat constructor espera que las filas, cols par en lugar de ancho, height como sus argumentos, los invierte.

Tratar:

Mat tmp = new Mat (bmp.getHeight(), bmp.getWidth(), CvType.CV_8UC1);

El mismo problema con mi aplicación. En la actividad principal, tuve que hacer OpenCV utilizable. (Supongo que su aplicación lanzó un error de enlace cuando se utilizó la biblioteca Mat). Todas las aplicaciones de ejemplo lo hacen. Incluya esto en su actividad principal.

  private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i("OpenCVManager setup", "OpenCV loaded successfully"); //Use openCV libraries after this } break; default: { super.onManagerConnected(status); } break; } } }; @Override public void onResume() { super.onResume(); OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback); } 
  • OpenCV de Android: No se encontró identificador de recurso para el atributo 'camera_id' en el paquete
  • Android - openCV, obtener parte de la imagen - comportamiento extraño
  • Falló la aserción de OpenCV nMatToBitmap
  • OpenCV: detección de puntos / discos circulares de dominó
  • ¿Cómo Funciona OpenCV ORB Feature Detector?
  • Error de OpenCV / Android BufferQueue: La textura de la superficie ha sido abandonada
  • OpenCV Native Samples no están construyendo
  • Android + OpenCV: Cómo configurar la resolución de la cámara cuando se utiliza CameraBridgeViewBase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.