Bitmap to Mat da colores incorrectos de vuelta

Así que hago un mapa de bits de una gota con el siguiente código:

byte[] blob = contact.getMP(); ByteArrayInputStream inputStream = new ByteArrayInputStream(blob); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); Bitmap scalen = Bitmap.createScaledBitmap(bitmap, 320, 240, false); 

y devuelve la siguiente salida, que es buena

introduzca la descripción de la imagen aquí

Entonces hago lo siguiente para hacer el mapa de bits en un Mat, pero entonces mis colores sólo cambian …

 //Mat ImageMat = new Mat(); Mat ImageMat = new Mat(320, 240, CvType.CV_32F); Utils.bitmapToMat(scalen, ImageMat); 

No tengo idea de por qué, ni otra manera de hacer el mapa de bits en un Mat. ¿Qué está mal? introduzca la descripción de la imagen aquí

El formato de los canales de color en Android Bitmap son BGR Pero en opencv Mat, los canales son RGB por defecto.

Así que cuando usted hace Utils.bitmapToMat (), los valores [B, G, R] se almacenan en los canales [R, G, B]. Los canales rojo y azul se intercambian.

Una posible solución es aplicar cvtcolor en el Opencv Mat que obtuvo como a continuación: Imgproc.cvtColor (ImageMat, ImageMat, Imgproc.COLOR_BGR2RGB);

Funcionó para mí.

  • Cómo dibujar una porción de mapa de bits a través de lienzo DrawBitmap
  • Asegúrese de que el área del mapa de bits sea transparente al tocar -> de nuevo
  • ¿Hay una manera de fijar el backgound de la barra de acción por la imagen en androide?
  • Android - Lienzo drawLine dentro de ImageView
  • Mat to Bitmap en el archivo jni cpp de Android
  • ¿Cómo leer un archivo en un mapa de bits de Java?
  • ¿Dónde desasignar correctamente el mapa de bits en Android View?
  • Cómo cargar una imagen de una URL en un viewpager
  • Obtener mapa de bits de ImageView en Android L
  • Androide, fondo, lista de capas y elemento de mapa de bits escalable
  • Canvas.drawBitmap () ignorando el modo de mosaico de la pintura
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.