三行代码,OpenCV轻松生成19种色彩风格图像
关注获取更多计算机视觉与深度学习知识
Hello,大家好,今天给大家分享一个OpenCV中相对冷门的一个知识点,就是如何使用OpenCV中的颜色表,快速实现各种色彩风格的转换,先看下图:
相关知识点解释
我只用了三行代码就完成上述功能(除去第三行),代码如下:
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表示使用的颜色表标号
支持的颜色表图示如下:
志合者不以山海为远
道乖者不以咫尺为近
推荐阅读