@@ -99,7 +99,7 @@ static void thinningIteration(Mat &img, Mat &marker, const uint8_t* const lut) {
9999    //  Parallelized iteration over pixels excluding the boundary
100100    parallel_for_ (Range (1 , rows - 1 ), [&](const  Range& range) {
101101        for  (int  i = range.start ; i < range.end ; i++) {
102-             uchar* imgRow = img.ptr (i);
102+             const   uchar* imgRow = img.ptr (i);
103103            uchar* markerRow = marker.ptr (i);
104104            for  (int  j = 1 ; j < cols - 1 ; j++) {
105105                if  (imgRow[j]) {
@@ -119,7 +119,6 @@ static void thinningIteration(Mat &img, Mat &marker, const uint8_t* const lut) {
119119        }
120120    });
121121
122-     //  Bitwise AND and reset marker for the next iteration
123122    img &= marker;
124123}
125124
@@ -132,7 +131,8 @@ void thinning(InputArray input, OutputArray output, int thinningType){
132131    Mat processed = input_ / 255 ;
133132    Mat prev = processed.clone ();
134133
135-     Mat marker,marker_inner = processed (Rect (1 , 1 , processed.cols  - 2 , processed.rows  - 2 ));
134+     Mat marker;
135+     Mat marker_inner = processed (Rect (1 , 1 , processed.cols  - 2 , processed.rows  - 2 ));
136136    copyMakeBorder (marker_inner, marker, 1 , 1 , 1 , 1 , BORDER_ISOLATED | BORDER_CONSTANT, Scalar (255 ));
137137
138138    const  auto  lutIter0 = (thinningType == THINNING_GUOHALL) ? lut_guo_iter0 : lut_zhang_iter0;
0 commit comments