diff --git a/modules/imgproc/src/smooth.cpp b/modules/imgproc/src/smooth.cpp index d93ac5e52c2215aea1553b642c3e1b742a7c4683..faec530b8548784f9bda04d5ba985f1bc97ba21b 100644 --- a/modules/imgproc/src/smooth.cpp +++ b/modules/imgproc/src/smooth.cpp @@ -1425,6 +1425,11 @@ bilateralFilter_32f( const Mat& src, Mat& dst, int d, // compute the min/max range for the input image (even if multichannel) minMaxLoc( src.reshape(1), &minValSrc, &maxValSrc ); + if(std::abs(minValSrc - maxValSrc) < FLT_EPSILON) + { + src.copyTo(dst); + return; + } // temporary copy of the image with borders for easy processing Mat temp;