OpenCV 4.11.0
开源计算机视觉库
加载中…
搜索中…
无匹配项
OpenCV中的颜色映射

详细描述

人类的感知能力并非为观察灰度图像的细微变化而设计的。人眼对颜色变化更敏感,因此您通常需要将灰度图像重新着色才能更好地理解它们。OpenCV现在配备了各种颜色映射,以增强计算机视觉应用程序中的可视化效果。

在OpenCV中,您只需要使用`applyColorMap`函数即可将颜色映射应用于给定的图像。以下示例代码从命令行读取图像路径,在其上应用Jet颜色映射并显示结果。

#include <opencv2/core.hpp>
using namespace cv;
#include <iostream>
using namespace std;
int main(int argc, const char *argv[])
{
// 我们需要一个输入图像。(可以是灰度图像或彩色图像)
if (argc < 2)
{
cerr << "我们需要一个图像来进行处理。请运行:colorMap [图像路径]" << endl;
return -1;

-1;
}
Mat img_in = imread(argv[1]);
if(img_in.empty())
{
cerr << "示例图像 (" << argv[1] << ") 为空。请调整您的路径,使其指向有效的输入图像!" << endl;
return -1;

-1;
}
// 保存图像的颜色映射版本
Mat img_color;
// 应用颜色映射
applyColorMap(img_in, img_color, COLORMAP_JET);
// 显示结果
imshow("colorMap", img_color);
return -1;

0;
}
n维密集数组类
定义 mat.hpp:829
bool empty() const
如果数组没有元素,则返回true。
void imshow(const String &winname, InputArray mat)
在指定的窗口中显示图像。
int waitKey(int delay=0)
等待按键按下。
void applyColorMap(InputArray src, OutputArray dst, int colormap)
将GNU Octave/MATLAB等效的颜色映射应用于给定的图像。
int main(int argc, char *argv[])
定义 highgui_qt.cpp:3
定义 core.hpp:107
STL命名空间。
参见
ColormapTypes

枚举

枚举  cv::ColormapTypes {
  cv::COLORMAP_AUTUMN = 0 ,
  cv::COLORMAP_BONE = 1 ,
  cv::COLORMAP_JET = 2 ,
  cv::COLORMAP_WINTER = 3 ,
  cv::COLORMAP_RAINBOW = 4 ,
  cv::COLORMAP_OCEAN = 5 ,
  cv::COLORMAP_SUMMER = 6 ,
  cv::COLORMAP_SPRING = 7 ,
  cv::COLORMAP_COOL = 8 ,
  cv::COLORMAP_HSV = 9 ,
  cv::COLORMAP_PINK = 10 ,
  cv::COLORMAP_HOT = 11 ,
  cv::COLORMAP_PARULA = 12 ,
  cv::COLORMAP_MAGMA = 13 ,
  cv::COLORMAP_INFERNO = 14 ,
  cv::COLORMAP_PLASMA = 15 ,
  cv::COLORMAP_VIRIDIS = 16 ,
  cv::COLORMAP_CIVIDIS = 17 ,
  cv::COLORMAP_TWILIGHT = 18 ,
  cv::COLORMAP_TWILIGHT_SHIFTED = 19 ,
  cv::COLORMAP_TURBO = 20 ,
  cv::COLORMAP_DEEPGREEN = 21
}
 GNU Octave/MATLAB等效的颜色映射。更多…
 

函数

void cv::applyColorMap (InputArray src, OutputArray dst, InputArray userColor)
 将用户自定义颜色映射应用于给定的图像。
 
void cv::applyColorMap (InputArray src, OutputArray dst, int colormap)
 将GNU Octave/MATLAB等效的颜色映射应用于给定的图像。
 

枚举类型文档

◆ ColormapTypes

#include <opencv2/imgproc.hpp>

GNU Octave/MATLAB等效的颜色映射。

枚举器
COLORMAP_AUTUMN 
Python: cv.COLORMAP_AUTUMN
autumn
COLORMAP_BONE 
Python: cv.COLORMAP_BONE
bone
COLORMAP_JET 
Python: cv.COLORMAP_JET
jet
COLORMAP_WINTER 
Python: cv.COLORMAP_WINTER
winter
COLORMAP_RAINBOW 
Python: cv.COLORMAP_RAINBOW
rainbow
COLORMAP_OCEAN 
Python: cv.COLORMAP_OCEAN
ocean
COLORMAP_SUMMER 
Python: cv.COLORMAP_SUMMER
summer
COLORMAP_SPRING 
Python: cv.COLORMAP_SPRING
spring
COLORMAP_COOL 
Python: cv.COLORMAP_COOL
cool
COLORMAP_HSV 
Python: cv.COLORMAP_HSV
HSV
COLORMAP_PINK 
Python: cv.COLORMAP_PINK
pink
COLORMAP_HOT 
Python: cv.COLORMAP_HOT
hot
COLORMAP_PARULA 
Python: cv.COLORMAP_PARULA
parula
COLORMAP_MAGMA 
Python: cv.COLORMAP_MAGMA
magma
COLORMAP_INFERNO 
Python: cv.COLORMAP_INFERNO
inferno
COLORMAP_PLASMA 
Python: cv.COLORMAP_PLASMA
plasma
COLORMAP_VIRIDIS 
Python: cv.COLORMAP_VIRIDIS
viridis
COLORMAP_CIVIDIS 
Python: cv.COLORMAP_CIVIDIS
cividis
COLORMAP_TWILIGHT 
Python: cv.COLORMAP_TWILIGHT
twilight
COLORMAP_TWILIGHT_SHIFTED 
Python: cv.COLORMAP_TWILIGHT_SHIFTED
twilight shifted
COLORMAP_TURBO 
Python: cv.COLORMAP_TURBO
turbo
COLORMAP_DEEPGREEN 
Python: cv.COLORMAP_DEEPGREEN
deepgreen

函数文档

◆ applyColorMap() [1/2]

void cv::applyColorMap ( InputArray src,
OutputArray dst,
InputArray userColor )
Python
cv.applyColorMap(src, colormap[, dst]) -> dst
cv.applyColorMap(src, userColor[, dst]) -> dst

#include <opencv2/imgproc.hpp>

将用户自定义颜色映射应用于给定的图像。

参数
src源图像,灰度或彩色,类型为 CV_8UC1 或 CV_8UC3。如果为 CV_8UC3,则内部使用 cv::COLOR_BGR2GRAY 生成 CV_8UC1 图像。
dst结果是与 userColor 通道数相同的彩色映射源图像。注意:dst 上调用了 Mat::create
userColor要应用的色彩映射表,类型为 CV_8UC1 或 CV_8UC3,大小为 256

◆ applyColorMap() [2/2]

void cv::applyColorMap ( InputArray src,
OutputArray dst,
int colormap )
Python
cv.applyColorMap(src, colormap[, dst]) -> dst
cv.applyColorMap(src, userColor[, dst]) -> dst

#include <opencv2/imgproc.hpp>

将GNU Octave/MATLAB等效的颜色映射应用于给定的图像。

参数
src源图像,灰度或彩色,类型为 CV_8UC1 或 CV_8UC3。如果为 CV_8UC3,则内部使用 cv::COLOR_BGR2GRAY 生成 CV_8UC1 图像。
dst结果是彩色映射的源图像。注意:dst 上调用了 Mat::create
colormap要应用的色彩映射表,参见 ColormapTypes