第六节 颜色映射
人类的感知并不是为观察灰度图像的精细变化而建立的。 人眼对观察颜色之间的变化更为敏感,因此您通常需要重新着色灰度图像以获取有关它们的线索。 OpenCV现在带有各种颜色图,以增强计算机视觉应用程序中的可视化效果。
在OpenCV中,只需要applyColorMap即可在给定图像上应用颜色图。
- void cv::applyColorMap(InputArray src,OutputArray dst,int colormap)
参数如下:
参数名称 | 参数描述 |
---|---|
src | 输入图像,灰度或彩色CV_8UC1或CV_8UC3类型。 |
dst | 输出颜色映射的源图像 |
colormap | 颜色映射类型, 请参考 ColormapTypes |
- void cv::applyColorMap(InputArray src,OutputArray dst,InputArray userColor)
参数如下:
参数名称 | 参数描述 |
---|---|
src | 输入图像,灰度或彩色CV_8UC1或CV_8UC3类型。 |
dst | 输出颜色映射的源图像。 |
userColor | 应用的CV_8UC1或CV_8UC3类型的颜色图,大小为256 |
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, const char *argv[])
{
// 读取图像
cv::Mat src = cv::imread("images/leaf.jpg");
if(src.empty()){
cerr << "cannot read image.\n";
return EXIT_FAILURE;
}
Mat img_color;
// 应用颜色映射
applyColorMap(src, img_color, COLORMAP_JET);
// 显示
imshow("src",src);
imshow("colorMap", img_color);
waitKey(0);
return 0;
}