From 79b500eb0da037bb25e60b0b3238f8ab92e92db5 Mon Sep 17 00:00:00 2001 From: Vladislav Vinogradov Date: Tue, 10 May 2011 06:28:48 +0000 Subject: [PATCH] fixed bug in cv::Scharr and cv::Laplacian (ddepth < 0) --- modules/imgproc/src/deriv.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/imgproc/src/deriv.cpp b/modules/imgproc/src/deriv.cpp index 536a53a7f9..7addf20613 100644 --- a/modules/imgproc/src/deriv.cpp +++ b/modules/imgproc/src/deriv.cpp @@ -507,6 +507,8 @@ void cv::Scharr( const InputArray& _src, OutputArray _dst, int ddepth, int dx, i double scale, double delta, int borderType ) { Mat src = _src.getMat(); + if (ddepth < 0) + ddepth = src.depth(); _dst.create( src.size(), CV_MAKETYPE(ddepth, src.channels()) ); Mat dst = _dst.getMat(); @@ -537,7 +539,9 @@ void cv::Scharr( const InputArray& _src, OutputArray _dst, int ddepth, int dx, i void cv::Laplacian( const InputArray& _src, OutputArray _dst, int ddepth, int ksize, double scale, double delta, int borderType ) { - Mat src = _src.getMat(); + Mat src = _src.getMat(); + if (ddepth < 0) + ddepth = src.depth(); _dst.create( src.size(), CV_MAKETYPE(ddepth, src.channels()) ); Mat dst = _dst.getMat(); -- GitLab