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 |