fix: 6149 (through CV_Error on wrong image type)
This commit is contained in:
@@ -3796,7 +3796,7 @@ enum ColormapTypes
|
|||||||
|
|
||||||
/** @brief Applies a GNU Octave/MATLAB equivalent colormap on a given image.
|
/** @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 dst The result is the colormapped source image. Note: Mat::create is called on dst.
|
||||||
@param colormap The colormap to apply, see cv::ColormapTypes
|
@param colormap The colormap to apply, see cv::ColormapTypes
|
||||||
*/
|
*/
|
||||||
|
@@ -144,10 +144,7 @@ namespace colormap
|
|||||||
|
|
||||||
// Applies the colormap on a given image.
|
// Applies the colormap on a given image.
|
||||||
//
|
//
|
||||||
// This function expects BGR-aligned data of type CV_8UC1 or
|
// This function expects BGR-aligned data of type CV_8UC1 or CV_8UC3.
|
||||||
// CV_8UC3. If the wrong image type is given, the original image
|
|
||||||
// will be returned.
|
|
||||||
//
|
|
||||||
// Throws an error for wrong-aligned lookup table, which must be
|
// Throws an error for wrong-aligned lookup table, which must be
|
||||||
// of size 256 in the latest OpenCV release (2.3.1).
|
// of size 256 in the latest OpenCV release (2.3.1).
|
||||||
void operator()(InputArray src, OutputArray dst) const;
|
void operator()(InputArray src, OutputArray dst) const;
|
||||||
@@ -498,12 +495,8 @@ namespace colormap
|
|||||||
if(_lut.total() != 256)
|
if(_lut.total() != 256)
|
||||||
CV_Error(Error::StsAssert, "cv::LUT only supports tables of size 256.");
|
CV_Error(Error::StsAssert, "cv::LUT only supports tables of size 256.");
|
||||||
Mat src = _src.getMat();
|
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)
|
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");
|
||||||
src.copyTo(_dst);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Turn into a BGR matrix into its grayscale representation.
|
// Turn into a BGR matrix into its grayscale representation.
|
||||||
if(src.type() == CV_8UC3)
|
if(src.type() == CV_8UC3)
|
||||||
cvtColor(src.clone(), src, COLOR_BGR2GRAY);
|
cvtColor(src.clone(), src, COLOR_BGR2GRAY);
|
||||||
|
Reference in New Issue
Block a user