OpenCV中的颜色映射函数
人类的感知并不适合观察灰度图像中的细微变化。人眼更善于观察颜色之间的变化,因此你经常需要将灰度图像重新着色,以便更好地理解它们。OpenCV 现在提供了多种颜色映射,以增强你在计算机视觉应用中的可视化效果。
在 OpenCV 中,你只需要使用 applyColorMap 函数就可以在给定的图像上应用一种颜色映射。以下示例代码从命令行读取图像路径,对该图像应用 Jet 颜色映射,并显示结果:
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
using namespace cv;
#include <iostream>
using namespace std;
int main(int argc, const char *argv[])
{
// We need an input image. (can be grayscale or color)
if (argc < 2)
{
cerr << "We need an image to process here. Please run: colorMap [path_to_image]" << endl;
return -1;
}
Mat img_in = imread(argv[1]);
if(img_in.empty())
{
cerr << "Sample image (" << argv[1] << ") is empty. Please adjust your path, so it points to a valid input image!" << endl;
return -1;
}
// Holds the colormap version of the image:
Mat img_color;
// Apply the colormap:
applyColorMap(img_in, img_color, COLORMAP_JET);
// Show the result:
imshow("colorMap", img_color);
waitKey(0);
return 0;
}
与GNU Octave/MATLAB 中等效的颜色映射: