OpenCV - Mappe a colori

In OpenCV, puoi applicare diverse mappe di colori a un'immagine utilizzando il metodo applyColorMap() della classe Imgproc. Di seguito è riportata la sintassi di questo metodo:

applyColorMap(Mat src, Mat dst, int colormap)

Accetta tre parametri:

  • src - Un oggetto della classe Mat che rappresenta l'immagine sorgente (ingresso).

  • dst - Un oggetto della classe Mat che rappresenta l'immagine di destinazione (output).

  • colormap - Una variabile di tipo intero che rappresenta il tipo di mappa dei colori da applicare.

Esempio

Il seguente programma mostra come applicare color map a un'immagine.

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");
   }
}

Supponiamo che la seguente sia l'immagine in ingresso color_input.jpg specificato nel programma di cui sopra.

Produzione

Eseguendo il programma sopra, otterrai il seguente output:

Image Processed

Se apri il percorso specificato, puoi osservare l'immagine di output come segue:

Più operazioni

Inoltre COLORMAP_HOTdimostrato nell'esempio precedente, OpenCV soddisfa vari altri tipi di mappe dei colori. Tutti questi tipi sono rappresentati da campi statici predefiniti (valori fissi) della classe Imgproc.

Puoi scegliere il tipo di mappa di colore che ti serve, passando il suo rispettivo valore predefinito al parametro denominato colormap del applyColorMap() metodo.

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

Di seguito sono riportati i valori che rappresentano i vari tipi di mappe dei colori e i rispettivi output.

Funzionamento e descrizione Produzione
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