在OpenCV中,可以使用類Imgproc的方法applyColorMap()對圖像應用不同的顏色映射。下面是這個方法的語法−
applyColorMap(Mat src, Mat dst, int colormap)
它接受三個參數&負;
src−類的對象表示源(輸入)圖像。
dst−類的對象表示目標(輸出)圖像。
color map−一個整數類型的變量,表示要應用的顏色映射的類型。
Example
下面的程序演示如何將顏色映射應用於圖像。
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。
Output
在執行上述程序時,您將得到以下輸出&負;
Image Processed
如果您打開指定的路徑,您可以按以下方式觀察輸出圖像−
More Operations
除了前一個示例中演示的COLORMAP\u HOT之外,OpenCV還提供各種其他類型的顏色映射。所有這些類型都由Imgproc類的預定義靜態欄位(固定值)表示。
通過將其各自的預定義值傳遞給applyColorMap()方法的名爲colormap的參數,可以選擇所需的colormap類型。
Imgproc.applyColorMap(src, dst, Imgproc.COLORMAP_HOT);
下面是表示各種類型的顏色映射及其各自輸出的值。