Opencv-color-maps

提供:Dev Guides
移動先:案内検索

OpenCV-カラーマップ

OpenCVでは、クラス Imgproc のメソッド* applyColorMap()*を使用して、さまざまなカラーマップを画像に適用できます。 以下は、このメソッドの構文です-

applyColorMap(Mat src, Mat dst, int colormap)

それは3つのパラメータを受け入れます-

  • src -ソース(入力)画像を表すクラス Mat のオブジェクト。
  • dst -宛先(出力)イメージを表すクラス Mat のオブジェクト。
  • colormap -適用されるカラーマップのタイプを表す整数タイプの変数。

次のプログラムは、*カラーマップ*を画像に適用する方法を示しています。

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クラスの事前定義された静的フィールド(固定値)によって表されます。

  • applyColorMap()メソッドの *colormap という名前のパラメーターにそれぞれの定義済みの値を渡すことにより、必要なカラーマップのタイプを選択できます。
Imgproc.applyColorMap(src, dst, Imgproc.COLORMAP_HOT);

以下は、さまざまなタイプのカラーマップとそれぞれの出力を表す値です。

Operation and Description Output
COLORMAP_AUTUMN COLORMAP_AUTUMN
COLORMAP_BONE COLORMAP_BONE
COLORMAP_COOL COLORMAP_COOL
COLORMAP_HOT COLORMAP_HOT
COLORMAP_HSV COLORMAP_HSV
COLORMAP_JET COLORMAP_JET
COLORMAP_OCEAN COLORMAP_OCEAN
COLORMAP_PARULA COLORMAP_PARULA
COLORMAP_PINK COLORMAP_PINK
COLORMAP_RAINBOW COLORMAP_RAINBOW
COLORMAP_SPRING COLORMAP_SPRING
COLORMAP_SUMMER COLORMAP_SUMMER
COLORMAP_WINTER COLORMAP_WINTER