Skip to content

Commit 8378220

Browse files
committed
半径を変えつつ実行時間を測定するユニットテストを追加
1 parent acc32bb commit 8378220

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

modules/ximgproc/test/test_sparse_table_morphology.cpp

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,83 @@ TEST(ximgproc_StMorph_comp, 5_stDilate) { stDilate(im(CV_8UC3), knOnes()); }
388388
TEST(ximgproc_StMorph_comp, 5_stEerode) { stErode(im(CV_8UC3), knOnes()); }
389389
TEST(ximgproc_StMorph_comp, 5_cvDilate) { cvDilate(im(CV_8UC3), knOnes()); }
390390
TEST(ximgproc_StMorph_comp, 5_cvErode) { cvErode(im(CV_8UC3), knOnes()); }
391+
TEST(ximgproc_StMorph_comp, 5_cvEErode) { cvErode(im(CV_8UC3), kn5()); }
391392

393+
TEST(ximgproc_StMorph_eval, erode)
394+
{
395+
Mat img = im(CV_8UC3);
396+
Mat dst;
397+
int sizes[]{ 3, 5, 7, 9, 11, 21, 31, 51, 101, 151, 201, 251, 301, 351, 401, 451, 501};
398+
399+
std::ofstream ss("opencvlog.txt", std::ios_base::out);
400+
401+
ss << "----RECT----" << endl;
402+
for (int i : sizes)
403+
{
404+
ss << i;
405+
Size sz(i, i);
406+
cv::TickMeter meter;
407+
Mat kn;
408+
409+
// cv-rect
410+
kn = getStructuringElement(MORPH_RECT, sz);
411+
if (i <= 1001)
412+
{
413+
meter.start();
414+
cv::erode(img, dst, kn);
415+
meter.stop();
416+
}
417+
ss << "\t" << meter.getTimeMilli();
418+
meter.reset();
419+
420+
// cv-cross
421+
kn = getStructuringElement(MORPH_CROSS, sz);
422+
if (i <= 1001)
423+
{
424+
meter.start();
425+
cv::erode(img, dst, kn);
426+
meter.stop();
427+
}
428+
ss << "\t" << meter.getTimeMilli();
429+
meter.reset();
430+
431+
// cv-ellipse
432+
kn = getStructuringElement(MORPH_ELLIPSE, sz);
433+
if (i <= 201)
434+
{
435+
meter.start();
436+
cv::erode(img, dst, kn);
437+
meter.stop();
438+
}
439+
ss << "\t" << meter.getTimeMilli();
440+
meter.reset();
441+
442+
// st-rect
443+
kn = getStructuringElement(MORPH_RECT, sz);
444+
meter.start();
445+
stMorph::erode(img, dst, kn);
446+
meter.stop();
447+
ss << "\t" << meter.getTimeMilli();
448+
meter.reset();
449+
450+
// st-cross
451+
kn = getStructuringElement(MORPH_CROSS, sz);
452+
meter.start();
453+
stMorph::erode(img, dst, kn);
454+
meter.stop();
455+
ss << "\t" << meter.getTimeMilli();
456+
meter.reset();
457+
458+
// st-ellipse
459+
kn = getStructuringElement(MORPH_ELLIPSE, sz);
460+
meter.start();
461+
stMorph::erode(img, dst, kn);
462+
meter.stop();
463+
ss << "\t" << meter.getTimeMilli() << endl;
464+
meter.reset();
465+
}
466+
ss.close();
467+
}
392468
#pragma endregion
393469

394470
}} // opencv_test:: ::

0 commit comments

Comments
 (0)