vlambda博客
学习文章列表

三行代码,OpenCV轻松生成19种色彩风格图像



关注获取更多计算机视觉与深度学习知识

Hello,大家好,今天给大家分享一个OpenCV中相对冷门的一个知识点,就是如何使用OpenCV中的颜色表,快速实现各种色彩风格的转换,先看下图:

三行代码,OpenCV轻松生成19种色彩风格图像

相关知识点解释

我只用了三行代码就完成上述功能(除去第三行),代码如下:

1for (int i = 0; i < 19; i++) {
2    applyColorMap(image, dst, colormap[i]);
3    imwrite(format("D:/%d.jpg", i), dst);
4}

其中colormap是我定义的色彩转换表,这个来自OpenCV本身,OpenCV支持20中色彩风格变换,我定义的colormap变量如下:

 1int colormap[]= {
2    COLORMAP_AUTUMN,
3    COLORMAP_BONE,
4    COLORMAP_JET,
5    COLORMAP_WINTER,
6    COLORMAP_RAINBOW,
7    COLORMAP_OCEAN,
8    COLORMAP_SUMMER,
9    COLORMAP_SPRING,
10    COLORMAP_COOL,
11    COLORMAP_PINK,
12    COLORMAP_HOT,
13    COLORMAP_PARULA,
14    COLORMAP_MAGMA,
15    COLORMAP_INFERNO,
16    COLORMAP_PLASMA,
17    COLORMAP_VIRIDIS,
18    COLORMAP_CIVIDIS,
19    COLORMAP_TWILIGHT,
20    COLORMAP_TWILIGHT_SHIFTED
21};


函数applyColorMap与参数解释如下:

void cv::applyColorMap(  InputArray src, OutputArray dst, int colormap)

参数解释如下:

src是输入图像,支持三通道与单通道
dst是调色之后图像
colormap表示使用的颜色表标号


支持的颜色表图示如下:


志合者不以山海为远

道乖者不以咫尺为近


 推荐阅读