From ec076bfba3fa31a0dcb5d218f61e430a06650112 Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Mon, 27 Nov 2017 13:42:10 +0300 Subject: [PATCH] Update imgproc.hpp rewrote the added note in perhaps a cleaner way --- modules/imgproc/include/opencv2/imgproc.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/imgproc/include/opencv2/imgproc.hpp b/modules/imgproc/include/opencv2/imgproc.hpp index 965a51f0d8..8e19ff1ccf 100644 --- a/modules/imgproc/include/opencv2/imgproc.hpp +++ b/modules/imgproc/include/opencv2/imgproc.hpp @@ -4584,8 +4584,11 @@ draws the contours, all the nested contours, all the nested-to-nested contours, parameter is only taken into account when there is hierarchy available. @param offset Optional contour shift parameter. Shift all the drawn contours by the specified \f$\texttt{offset}=(dx,dy)\f$ . -@note In case function is called to draw all contours with filled interior (negative contourIdx and thickness) it process nested contours as shapes with holes. -In this mode function fill areas inner to odd amount of contours and avoid filling areas inner to even amount of contours using even-odd rule over all edges of all contours. +@note When thickness=CV_FILLED, the function is designed to handle connected components with holes correctly +even when no hierarchy date is provided. This is done by analyzing all the outlines together +using even-odd rule. This may give incorrect results if you have a joint collection of separately retrieved +contours. In order to solve this problem, you need to call drawContours separately for each sub-group +of contours, or iterate over the collection using contourIdx parameter. */ CV_EXPORTS_W void drawContours( InputOutputArray image, InputArrayOfArrays contours, int contourIdx, const Scalar& color,