OpenCV - Mapas de color

En OpenCV, puede aplicar diferentes mapas de color a una imagen usando el método applyColorMap() de la clase Imgproc. A continuación se muestra la sintaxis de este método:

applyColorMap(Mat src, Mat dst, int colormap)

Acepta tres parámetros:

  • src - Un objeto de la clase Mat que representa la imagen de origen (entrada).

  • dst - Un objeto de la clase Mat que representa la imagen de destino (salida).

  • colormap - Una variable de tipo entero que representa el tipo de mapa de color que se aplicará.

Ejemplo

El siguiente programa demuestra cómo aplicar color map a una imagen.

import org.opencv.core.Core;
import org.opencv.core.Mat;

import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;

public class ColorMapTest {
   public static void main(String args[]) {
      // Loading the OpenCV core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

      // Reading the Image from the file and storing it in to a Matrix object
      String file ="E:/OpenCV/chap25/color_input.jpg";
      Mat src = Imgcodecs.imread(file);

      // Creating an empty matrix to store the result
      Mat dst = new Mat();

      // Applying color map to an image
      Imgproc.applyColorMap(src, dst, Imgproc.COLORMAP_HOT);

      // Writing the image
      Imgcodecs.imwrite("E:/OpenCV/chap25/colormap_hot.jpg", dst);
      System.out.println("Image processed");
   }
}

Suponga que la siguiente es la imagen de entrada color_input.jpg especificado en el programa anterior.

Salida

Al ejecutar el programa anterior, obtendrá el siguiente resultado:

Image Processed

Si abre la ruta especificada, puede observar la imagen de salida de la siguiente manera:

Más operaciones

Además de COLORMAP_HOTComo se demostró en el ejemplo anterior, OpenCV ofrece otros tipos de mapas de color. Todos estos tipos están representados por campos estáticos predefinidos (valores fijos) de la clase Imgproc.

Puede elegir el tipo de mapa de colores que necesita, pasando su respectivo valor predefinido al parámetro denominado colormap del applyColorMap() método.

Imgproc.applyColorMap(src, dst, Imgproc.COLORMAP_HOT);

A continuación se muestran los valores que representan varios tipos de mapas de color y sus respectivos resultados.

Operación y descripción Salida
COLORMAP_AUTUMN
COLORMAP_BONE
COLORMAP_COOL
COLORMAP_HOT
COLORMAP_HSV
COLORMAP_JET
COLORMAP_OCEAN
COLORMAP_PARULA
COLORMAP_PINK
COLORMAP_RAINBOW
COLORMAP_SPRING
COLORMAP_SUMMER
COLORMAP_WINTER