
正文
applyColorMap 在OpenCV中对灰度图进行颜色映射,实现数据的色彩化
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
什么是色彩映射:
说直白点就是将各种数据映射成颜色信息,例如:温度,高度,压力,密度,湿度,城市拥堵数据等等
色彩化后更加直观表达
在OpenCV里可以使用
Mat im_gray = imread("pluto.jpg", IMREAD_GRAYSCALE);
Mat im_color;
applyColorMap(im_gray, im_color, COLORMAP_JET);
这种方式将一个灰度数据安装一定得映射方式对应上一个颜色值,灰度图里存储你的温度数据,高度数据什么的都可以
OpenCV applyColorMap默认的映射方式如下:

上图相当于一张查找表,灰度图对应的各种转化
自定义颜色映射
在OpenCV中还可以自己定义一张颜色映射表来进行颜色转化
Mat im = imread("pluto.jpg", IMREAD_GRAYSCALE);
cvtColor(im.clone(), im, COLOR_GRAY2BGR);
unsigned char b[] = { ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, }; unsigned char g[] = { ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, }; unsigned char r[] = { ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, }; Mat channels[] = { Mat(,, CV_8U, b), Mat(,, CV_8U, g), Mat(,, CV_8U, r) };
Mat lut; // Create a lookup table
merge(channels, , lut);
Mat im2;
LUT(im, lut, im2);
imshow("LUT image", im2);
原图:

自定义转换后:








