OpenCV-颜色映射(java版)

颜色映射

  • 一,Imgproc
    • 1.applyColorMap()
    • 2.cvtColor()

颜色映射的应用还是比较广泛的,比如红外热成像图,伪色彩
采用以下图片做演示(使用灰度图和彩色图效果是一样的)
OpenCV-颜色映射(java版)_第1张图片

一,Imgproc

1.applyColorMap()

方法 说明
applyColorMap(Mat src, Mat dst, int colormap) src:原图像
dst:目标图像
colormap:OpenCV自带的颜色
userColor:自定义色彩
applyColorMap(Mat src, Mat dst, Mat userColor)

Imgproc.colormap 对照表:

key value
COLORMAP_AUTUMN 0
COLORMAP_BONE 1
COLORMAP_JET 2
COLORMAP_WINTER 3
COLORMAP_RAINBOW 4
COLORMAP_OCEAN 5
COLORMAP_SUMMER 6
COLORMAP_SPRING 7
COLORMAP_COOL 8
COLORMAP_HSV 9
COLORMAP_PINK 10
COLORMAP_HOT 11
COLORMAP_PARULA 12
COLORMAP_MAGMA 13
COLORMAP_INFERNO 14
COLORMAP_PLASMA 15
COLORMAP_VIRIDIS 16
COLORMAP_CIVIDIS 17
COLORMAP_TWILIGHT 18
COLORMAP_TWILIGHT_SHIFTED 19
COLORMAP_TURBO 20
COLORMAP_DEEPGREEN 21
示例:
    public static void main(String[] args) {
        String libraryPath= System.getProperty("user.dir")+"\\lib\\opencv_java460.dll";
        System.load(libraryPath);
        Mat img = Imgcodecs.imread("cat.jpg");
        Mat mat = new Mat();
        Imgproc.applyColorMap(img,mat,Imgproc.COLORMAP_AUTUMN);
        HighGui.imshow("mat",mat);
        HighGui.waitKey(1);
    }

结果:

OpenCV-颜色映射(java版)_第2张图片

2.cvtColor()

cvtColo函数被用于颜色空间转换.

方法 说明
cvtColor(Mat src, Mat dst, int code, int dstCn) src:原图像
dst:目标图像
code:转换类型
cvtColor(Mat src, Mat dst, int code)

更多code查看Imgcodecs
示例:

    public static void main(String[] args) {
        String libraryPath= System.getProperty("user.dir")+"\\lib\\opencv_java460.dll";
        System.load(libraryPath);
        Mat img = Imgcodecs.imread("cat.jpg");
        Mat mat = new Mat();
        Imgproc.cvtColor(img,mat,Imgproc.COLOR_HSV2BGR);
        HighGui.imshow("mat",mat);
        HighGui.waitKey(0);
    }

效果

OpenCV-颜色映射(java版)_第3张图片

你可能感兴趣的:(#,OpenCV入门,opencv,计算机视觉,人工智能)