1.介绍
对于下图,我们很容易分辨出哪里温度高,哪里温度低,其原因在于,此图片用不同的颜色代表不同的温度,这其实就是一种色度图(只指代国家领土地方)
对于上图,我们也可以用灰度图来表示,因为灰度图也有明暗之分,但人眼对灰度图的识别能力不如色度图。
如果我们手头有一张灰度图,想转换成色度图(其实,现在有深度学习,可以直接给灰度图上色,大家可以去找找开源代码,跑一跑,我在这里就不展开讲了),调用applyColorMap即可,下图为它的12种颜色映射的类型。
2.代码
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
int main() {
Mat srcImage = imread("a5c041a3743cb9693c243c5d8203ab4e.jpg", 1);
Mat garyImage;
Mat dstImage;
cvtColor(srcImage, garyImage, CV_BGR2GRAY);
applyColorMap(garyImage, dstImage, 2);
imshow("srcImage", srcImage);
imshow("garyImage", garyImage);
imshow("dstImage", dstImage);
waitKey(0);
return 0;
}
原图:
灰度图:
色度图(大家可以尝试不同的类别):