canny: disallow broken inplace arguments
authorAlexander Alekhin <alexander.alekhin@intel.com>
Fri, 30 Jun 2017 16:32:16 +0000 (19:32 +0300)
committerAlexander Alekhin <alexander.alekhin@intel.com>
Fri, 30 Jun 2017 16:32:16 +0000 (19:32 +0300)
modules/imgproc/src/canny.cpp

index b4a4ac4..c723c2b 100644 (file)
@@ -972,6 +972,9 @@ void Canny( InputArray _src, OutputArray _dst,
 
     const Size size = _src.size();
 
+    // we don't support inplace parameters in case with RGB/BGR src
+    CV_Assert((_dst.getObj() != _src.getObj() || _src.type() == CV_8UC1) && "Inplace parameters are not supported");
+
     _dst.create(size, CV_8U);
 
     if (!L2gradient && (aperture_size & CV_CANNY_L2_GRADIENT) == CV_CANNY_L2_GRADIENT)