三行代码,OpenCV轻松生成19种色彩风格图像
小白学视觉
共 2146字,需浏览 5分钟
·
2021-07-19 09:00
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文转自|OpenCV学堂
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表示使用的颜色表标号
支持的颜色表图示如下:
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
评论