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

Posted OpenCV学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三行代码,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表示使用的颜色表标号


支持的颜色表图示如下:


志合者不以山海为远

道乖者不以咫尺为近


 推荐阅读 

















以上是关于三行代码,OpenCV轻松生成19种色彩风格图像的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 例程200篇204. 图像的色彩风格滤镜

OpenCV 例程200篇205. 调节色彩平衡/饱和度/明度

色彩空间类型---OpenCV-Python开发指南(7)

opencv_图像的色彩空間cvtColor(HSVHSLHSB )及相关色彩学

使用OpenCV3处理图像

基于OpenCV的彩色图像色彩增强代码(C++代码)