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 ที่คุณต้องการได้โดยส่งค่าที่กำหนดไว้ล่วงหน้าตามลำดับไปยังพารามิเตอร์ที่ชื่อ 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