OpenCV - Цветовые карты

В OpenCV вы можете применять различные цветовые карты к изображению, используя метод applyColorMap() класса Imgproc. Ниже приводится синтаксис этого метода -

applyColorMap(Mat src, Mat dst, int colormap)

Он принимает три параметра -

  • src - Объект класса Mat представляющий исходное (входное) изображение.

  • dst - Объект класса Mat представляющий конечное (выходное) изображение.

  • colormap - Переменная целочисленного типа, представляющая тип применяемой карты цветов.

пример

Следующая программа демонстрирует, как применять color map к изображению.

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

Предположим, что ниже находится входное изображение color_input.jpg указанные в вышеуказанной программе.

Вывод

При выполнении вышеуказанной программы вы получите следующий вывод -

Image Processed

Если вы откроете указанный путь, вы можете наблюдать выходное изображение следующим образом:

Больше операций

В добавление к COLORMAP_HOTпродемонстрированный в предыдущем примере, OpenCV обслуживает различные другие типы цветовых карт. Все эти типы представлены предопределенными статическими полями (фиксированными значениями) класса Imgproc.

Вы можете выбрать нужный тип цветовой карты, передав соответствующее предопределенное значение параметру с именем colormap из applyColorMap() метод.

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

Ниже приведены значения, представляющие различные типы цветовых карт и их соответствующие выходные данные.

Работа и описание Вывод
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