@@ -48,7 +48,7 @@ struct StStep
48
48
* - The width and the height of each rectangles are power of 2.
49
49
* - Overlappings of rectangles are allowed.
50
50
*/
51
- std::vector<Rect> genPow2RectsToCoverKernel (InputArray _kernel)
51
+ static std::vector<Rect> genPow2RectsToCoverKernel (InputArray _kernel)
52
52
{
53
53
CV_Assert (_kernel.type () == CV_8UC1);
54
54
@@ -163,7 +163,7 @@ std::vector<Rect> genPow2RectsToCoverKernel(InputArray _kernel)
163
163
* https://link.springer.com/article/10.1007/BF01758762
164
164
*
165
165
*/
166
- static std::vector<StStep> makePlan (std::vector<std::vector<bool >> sparseMatMap)
166
+ static std::vector<StStep> planSparseTableConstruction (std::vector<std::vector<bool >> sparseMatMap)
167
167
{
168
168
auto comparePos = [](Point lp, Point rp) {
169
169
int diffx = lp.x - rp.x ;
@@ -205,7 +205,7 @@ static std::vector<StStep> makePlan(std::vector<std::vector<bool>> sparseMatMap)
205
205
return ans;
206
206
}
207
207
208
- static void makeMinStMat (InputArray src, OutputArray dst, int rowStep, int colStep)
208
+ static void makeMinSparseTableMat (InputArray src, OutputArray dst, int rowStep, int colStep)
209
209
{
210
210
CV_Assert (rowStep * colStep == 0 ); // one of "rowStep" or "colStep" is required to be 0.
211
211
@@ -238,7 +238,7 @@ static void makeMinStMat(InputArray src, OutputArray dst, int rowStep, int colSt
238
238
dstPtr += borderSkipStep;
239
239
}
240
240
}
241
- static void makeMaxStMat (InputArray src, OutputArray dst, int rowStep, int colStep)
241
+ static void makeMaxSparseTableMat (InputArray src, OutputArray dst, int rowStep, int colStep)
242
242
{
243
243
CV_Assert (rowStep * colStep == 0 ); // one of "rowStep" or "colStep" is required to be 0.
244
244
@@ -324,7 +324,7 @@ void erode(InputArray _src, OutputArray _dst, InputArray _kernel, Point anchor,
324
324
for (int i = 0 ; i < pow2Rects.size (); i++) sparseMatMap[pow2Rects[i].height ][pow2Rects[i].width ] = true ;
325
325
326
326
// スパーステーブルの生成計画を立てる; planning how to calculate required mats in sparse table
327
- std::vector<StStep> stProcess = makePlan (sparseMatMap);
327
+ std::vector<StStep> stProcess = planSparseTableConstruction (sparseMatMap);
328
328
329
329
// スパーステーブルの生成; generate sparse table
330
330
std::vector<std::vector<Mat*>> st (log2[kernel.rows ] + 1 , std::vector<Mat*>(log2[kernel.cols ] + 1 ));
@@ -336,11 +336,11 @@ void erode(InputArray _src, OutputArray _dst, InputArray _kernel, Point anchor,
336
336
{
337
337
case Dim::Col:
338
338
st[step.dimRow ][step.dimCol + 1 ] = new Mat (expandedSrc.rows , expandedSrc.cols , expandedSrc.type ());
339
- makeMinStMat (*st[step.dimRow ][step.dimCol ], *st[step.dimRow ][step.dimCol + 1 ], 0 , 1 << step.dimCol );
339
+ makeMinSparseTableMat (*st[step.dimRow ][step.dimCol ], *st[step.dimRow ][step.dimCol + 1 ], 0 , 1 << step.dimCol );
340
340
break ;
341
341
case Dim::Row:
342
342
st[step.dimRow + 1 ][step.dimCol ] = new Mat (expandedSrc.rows , expandedSrc.cols , expandedSrc.type ());
343
- makeMinStMat (*st[step.dimRow ][step.dimCol ], *st[step.dimRow + 1 ][step.dimCol ], 1 << step.dimRow , 0 );
343
+ makeMinSparseTableMat (*st[step.dimRow ][step.dimCol ], *st[step.dimRow + 1 ][step.dimCol ], 1 << step.dimRow , 0 );
344
344
break ;
345
345
}
346
346
}
0 commit comments