diff --git a/modules/imgproc/include/opencv2/imgproc.hpp b/modules/imgproc/include/opencv2/imgproc.hpp index 717dcf578a..28040b5b70 100644 --- a/modules/imgproc/include/opencv2/imgproc.hpp +++ b/modules/imgproc/include/opencv2/imgproc.hpp @@ -3796,7 +3796,7 @@ enum ColormapTypes /** @brief Applies a GNU Octave/MATLAB equivalent colormap on a given image. -@param src The source image, grayscale or colored does not matter. +@param src The source image, grayscale or colored of type CV_8UC1 or CV_8UC3. @param dst The result is the colormapped source image. Note: Mat::create is called on dst. @param colormap The colormap to apply, see cv::ColormapTypes */ diff --git a/modules/imgproc/src/colormap.cpp b/modules/imgproc/src/colormap.cpp index 6d03d7b5f0..ec6e005cee 100644 --- a/modules/imgproc/src/colormap.cpp +++ b/modules/imgproc/src/colormap.cpp @@ -144,10 +144,7 @@ namespace colormap // Applies the colormap on a given image. // - // This function expects BGR-aligned data of type CV_8UC1 or - // CV_8UC3. If the wrong image type is given, the original image - // will be returned. - // + // This function expects BGR-aligned data of type CV_8UC1 or CV_8UC3. // Throws an error for wrong-aligned lookup table, which must be // of size 256 in the latest OpenCV release (2.3.1). void operator()(InputArray src, OutputArray dst) const; @@ -498,12 +495,8 @@ namespace colormap if(_lut.total() != 256) CV_Error(Error::StsAssert, "cv::LUT only supports tables of size 256."); Mat src = _src.getMat(); - // Return original matrix if wrong type is given (is fail loud better here?) - if(src.type() != CV_8UC1 && src.type() != CV_8UC3) - { - src.copyTo(_dst); - return; - } + if(src.type() != CV_8UC1 && src.type() != CV_8UC3) + CV_Error(Error::StsBadArg, "cv::ColorMap only supports source images of type CV_8UC1 or CV_8UC3"); // Turn into a BGR matrix into its grayscale representation. if(src.type() == CV_8UC3) cvtColor(src.clone(), src, COLOR_BGR2GRAY);