From ccea0a831a366345ebc4ce27638eb78086d80bc4 Mon Sep 17 00:00:00 2001 From: Aditya Rohan Date: Thu, 1 Feb 2018 17:51:00 +0530 Subject: [PATCH] Merge pull request #10732 from Riyuzakii:10598 * Introduces error throw for line drawn with THICKNESS=0 --- modules/core/misc/java/test/CoreTest.java | 2 +- modules/imgproc/src/drawing.cpp | 2 +- modules/imgproc/test/test_drawing.cpp | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/core/misc/java/test/CoreTest.java b/modules/core/misc/java/test/CoreTest.java index bd05407e20..549bcd84dd 100644 --- a/modules/core/misc/java/test/CoreTest.java +++ b/modules/core/misc/java/test/CoreTest.java @@ -876,7 +876,7 @@ public class CoreTest extends OpenCVTestCase { Point point1 = new Point(0, 0); Point point2 = new Point(nPoints, nPoints); - Imgproc.line(gray0, point1, point2, colorWhite, 0); + Imgproc.line(gray0, point1, point2, colorWhite, 1); assertTrue(nPoints == Core.countNonZero(gray0)); } diff --git a/modules/imgproc/src/drawing.cpp b/modules/imgproc/src/drawing.cpp index 8338a90168..29b475a444 100644 --- a/modules/imgproc/src/drawing.cpp +++ b/modules/imgproc/src/drawing.cpp @@ -1814,7 +1814,7 @@ void line( InputOutputArray _img, Point pt1, Point pt2, const Scalar& color, if( line_type == CV_AA && img.depth() != CV_8U ) line_type = 8; - CV_Assert( 0 <= thickness && thickness <= MAX_THICKNESS ); + CV_Assert( 0 < thickness && thickness <= MAX_THICKNESS ); CV_Assert( 0 <= shift && shift <= XY_SHIFT ); double buf[4]; diff --git a/modules/imgproc/test/test_drawing.cpp b/modules/imgproc/test/test_drawing.cpp index 2bd309a425..8c4124e403 100644 --- a/modules/imgproc/test/test_drawing.cpp +++ b/modules/imgproc/test/test_drawing.cpp @@ -750,5 +750,11 @@ TEST(Drawing, putText_no_garbage) } +TEST(Drawing, line) +{ + Mat mat = Mat::zeros(Size(100,100), CV_8UC1); + + ASSERT_THROW(line(mat, Point(1,1),Point(99,99),Scalar(255),0), cv::Exception); +} } // namespace