OpenCV - Bản đồ màu

Trong OpenCV, bạn có thể áp dụng các bản đồ màu khác nhau cho hình ảnh bằng phương pháp applyColorMap() của lớp Imgproc. Sau đây là cú pháp của phương thức này:

applyColorMap(Mat src, Mat dst, int colormap)

Nó chấp nhận ba tham số -

  • src - Một đối tượng của lớp Mat đại diện cho hình ảnh nguồn (đầu vào).

  • dst - Một đối tượng của lớp Mat đại diện cho hình ảnh đích (đầu ra).

  • colormap - Một biến kiểu số nguyên đại diện cho kiểu bản đồ màu sẽ được áp dụng.

Thí dụ

Chương trình sau đây trình bày cách đăng ký color map vào một hình ảnh.

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

Giả sử rằng sau đây là hình ảnh đầu vào color_input.jpg được chỉ định trong chương trình trên.

Đầu ra

Khi thực hiện chương trình trên, bạn sẽ nhận được kết quả sau:

Image Processed

Nếu bạn mở đường dẫn được chỉ định, bạn có thể quan sát hình ảnh đầu ra như sau:

Hoạt động khác

Ngoài COLORMAP_HOTđược minh họa trong ví dụ trước, OpenCV phục vụ nhiều loại bản đồ màu khác nhau. Tất cả các kiểu này được đại diện bởi các trường tĩnh được xác định trước (giá trị cố định) của lớp Imgproc.

Bạn có thể chọn loại bản đồ màu mà bạn cần, bằng cách chuyển giá trị được xác định trước tương ứng của nó cho tham số có tên colormap sau đó applyColorMap() phương pháp.

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

Sau đây là các giá trị đại diện cho các loại bản đồ màu khác nhau và kết quả đầu ra tương ứng của chúng.

Hoạt động và mô tả Đầu ra
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