ColorMaps in OpenCV#

Detailed Description#

The human perception isn’t built for observing fine changes in grayscale images. Human eyes are more sensitive to observing changes between colors, so you often need to recolor your grayscale images to get a clue about them. OpenCV now comes with various colormaps to enhance the visualization in your computer vision application.

In OpenCV you only need applyColorMap to apply a colormap on a given image. The following sample code reads the path to an image from command line, applies a Jet colormap on it and shows the result:

#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;
}

See also

ColormapTypes

Enumerations#

GNU Octave/MATLAB equivalent colormaps. View details

Enumeration Type Documentation#

ColormapTypes#

enum cv::ColormapTypes

#include <opencv2/imgproc.hpp>

GNU Octave/MATLAB equivalent colormaps.

Enumerator:

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

Function Documentation#

applyColorMap()#

void cv::applyColorMap(
InputArray src,
OutputArray dst,
InputArray userColor )

#include <opencv2/imgproc.hpp>

Python:

cv.applyColorMap(src, colormap[, dst]) -> dst
cv.applyColorMap(src, userColor[, dst]) -> dst

Applies a user colormap on a given image.

Parameters

  • src — The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. If CV_8UC3, then the CV_8UC1 image is generated internally using cv::COLOR_BGR2GRAY.

  • dst — The result is the colormapped source image of the same number of channels as userColor. Note: Mat::create is called on dst.

  • userColor — The colormap to apply of type CV_8UC1 or CV_8UC3 and size 256

applyColorMap()#

void cv::applyColorMap(
InputArray src,
OutputArray dst,
int colormap )

#include <opencv2/imgproc.hpp>

Python:

cv.applyColorMap(src, colormap[, dst]) -> dst
cv.applyColorMap(src, userColor[, dst]) -> dst

Applies a GNU Octave/MATLAB equivalent colormap on a given image.

Parameters

  • src — The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. If CV_8UC3, then the CV_8UC1 image is generated internally using cv::COLOR_BGR2GRAY.

  • dst — The result is the colormapped source image. Note: Mat::create is called on dst.

  • colormap — The colormap to apply, see ColormapTypes