编程语言
首页 > 编程语言> > 【个人笔记】OpenCV4 C++ 快速入门 09课

【个人笔记】OpenCV4 C++ 快速入门 09课

作者:互联网

个人资料,仅供学习使用
修改时间——2022年1月21日 22:54:13
学习课程:OpenCV4 C++ 快速入门视频30讲
视频老师:贾志刚

09 Opencv自带颜色表操作

opencv知识点:

本科所解决的问题:

1.Opencv4的颜色表

截止到2022年1月21日 23:17:24
opencv提供22种颜色风格的查找表映射
在这里插入图片描述
在这里插入图片描述

2.颜色表的使用

在使用的时候要用到applyColorMap,传入对应的colormap,就可以进行颜色风格的转换

applyColorMap(image, dst, COLORMAP_DEEPGREEN);

如我们传入COLORMAP_DEEPGREEN,就会有如下效果
在这里插入图片描述

3.循环转换颜色风格

我们首先把颜色表做成一个枚举数组

int colormap[]= {
     COLORMAP_AUTUMN,
     COLORMAP_BONE,
     COLORMAP_JET,
     COLORMAP_WINTER,
     COLORMAP_RAINBOW,
     COLORMAP_OCEAN,
     COLORMAP_SUMMER,
     COLORMAP_SPRING,
     COLORMAP_COOL,
     COLORMAP_HSV,//10
	 COLORMAP_PINK,
	 COLORMAP_HOT,
     COLORMAP_PARULA,
     COLORMAP_MAGMA,
     COLORMAP_INFERNO,
     COLORMAP_PLASMA,
     COLORMAP_VIRIDIS,
     COLORMAP_CIVIDIS,
     COLORMAP_TWILIGHT,
     COLORMAP_TWILIGHT_SHIFTED,//20
     COLORMAP_TURBO,
     COLORMAP_DEEPGREEN
};

通过applyColorMap + 1个while循环,我们便可以实现颜色风格的循环转换

void QuickDemo::color_style_demo(Mat& image) {

	int colormap[] = {
	 COLORMAP_AUTUMN,
	 COLORMAP_BONE,
	 COLORMAP_JET,
	 COLORMAP_WINTER,
	 COLORMAP_RAINBOW,
	 COLORMAP_OCEAN,
	 COLORMAP_SUMMER,
	 COLORMAP_SPRING,
	 COLORMAP_COOL,
	 COLORMAP_HSV,//10
	 COLORMAP_PINK,
	 COLORMAP_HOT,
	 COLORMAP_PARULA,
	 COLORMAP_MAGMA,
	 COLORMAP_INFERNO,
	 COLORMAP_PLASMA,
	 COLORMAP_VIRIDIS,
	 COLORMAP_CIVIDIS,
	 COLORMAP_TWILIGHT,
	 COLORMAP_TWILIGHT_SHIFTED,//20
	 COLORMAP_TURBO,
	 COLORMAP_DEEPGREEN
	};

	Mat dst;
	int index = 0;
	while (true) {

		int c = waitKey(500);

		if (c == 27) {//退出
			break;
		}
		applyColorMap(image, dst, colormap[index % 22]);
		/*
		applyColorMap
			应用颜色表
				共3个参数
					第1个参数 输入
					第2个参数 输出
					第3个参数 选择的颜色图(可以用opencv自带的,也可以自己规定)
		*/
		index++;
		imshow("22种颜色风格",dst);
	}
}

在这里插入图片描述
在这里插入图片描述

本课所用API查阅

1.applyColorMap
在这里插入图片描述
在这里插入图片描述

标签:颜色,COLORMAP,22,dst,09,C++,OpenCV4,applyColorMap,colormap
来源: https://blog.csdn.net/liandanba/article/details/122630965