Applies a GNU Octave/MATLAB equivalent colormap on a given image.
Applies a GNU Octave/MATLAB equivalent colormap on a given image.
...
@@ -34,45 +34,48 @@ Currently the following GNU Octave/MATLAB equivalent colormaps are implemented:
...
@@ -34,45 +34,48 @@ Currently the following GNU Octave/MATLAB equivalent colormaps are implemented:
Description
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.
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 2.4 you only need :ocv:func:`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:
In OpenCV you only need :ocv:func:`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:
.. code-block:: cpp
.. code-block:: cpp
#include <opencv2/contrib.hpp>
#include <opencv2/core.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/highgui.hpp>
using namespace cv;
using namespace cv;
int main(int argc, const char *argv[]) {
#include <iostream>
// Get the path to the image, if it was given
using namespace std;
// if no arguments were given.
String filename;
int main(int argc, const char *argv[])
if (argc > 1) {
{
filename = String(argv[1]);
// 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;
}
}
// The following lines show how to apply a colormap on a given image
// and show it with cv::imshow example with an image. An exception is
Mat img_in = imread(argv[1]);
// thrown if the path to the image is invalid.
if(!filename.empty()) {
if(img_in.empty())
Mat img0 = imread(filename);
{
// Throw an exception, if the image can't be read:
cerr << "Sample image (" << argv[1] << ") is empty. Please adjust your path, so it points to a valid input image!" << endl;
if(img0.empty()) {
return -1;
CV_Error(CV_StsBadArg, "Sample image is empty. Please adjust your path, so it points to a valid input image!");