Skip to content

Commit 4f73f88

Browse files
committed
Revert "時間測定のコード削除"
This reverts commit a48aaa4afb386cdfab0ca86d29a328f9f9554955.
1 parent 779448e commit 4f73f88

File tree

1 file changed

+185
-0
lines changed

1 file changed

+185
-0
lines changed

modules/ximgproc/test/test_sparse_table_morphology.cpp

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,4 +327,189 @@ TEST(ximgproc_StMorph_decomp, feature_visualize) {
327327

328328
#pragma endregion
329329

330+
#pragma region morph_comp
331+
332+
TEST(ximgproc_StMorph_eval, pdi)
333+
{
334+
Mat img = im(CV_8UC3);
335+
Mat dst;
336+
int sizes[]{ 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 35, 41, 45, 51, 55, 61, 71,
337+
81, 91, 101, 121, 151, 171, 201, 221, 251, 301, 351, 401, 451, 501 };
338+
339+
std::ofstream ss("opencvlog_pdi.txt", std::ios_base::out);
340+
341+
for (int c = 0; c < 3; c++)
342+
for (int i: sizes)
343+
{
344+
ss << i;
345+
Size sz(i, i);
346+
cv::TickMeter meter;
347+
Mat kn;
348+
stMorph::kernelDecompInfo kdi;
349+
350+
// cv-rect
351+
kn = getStructuringElement(MORPH_RECT, sz);
352+
if (i <= 401)
353+
{
354+
meter.start();
355+
cv::erode(img, dst, kn);
356+
meter.stop();
357+
ss << "\t" << meter.getTimeMilli();
358+
meter.reset();
359+
}
360+
else
361+
{
362+
ss << "\t";
363+
}
364+
365+
// cv-cross
366+
kn = getStructuringElement(MORPH_CROSS, sz);
367+
if (i <= 401)
368+
{
369+
meter.start();
370+
cv::erode(img, dst, kn);
371+
meter.stop();
372+
ss << "\t" << meter.getTimeMilli();
373+
meter.reset();
374+
}
375+
else
376+
{
377+
ss << "\t";
378+
}
379+
380+
// cv-ellipse
381+
kn = getStructuringElement(MORPH_ELLIPSE, sz);
382+
if (i <= 23)
383+
{
384+
meter.start();
385+
cv::erode(img, dst, kn);
386+
meter.stop();
387+
ss << "\t" << meter.getTimeMilli();
388+
meter.reset();
389+
}
390+
else
391+
{
392+
ss << "\t";
393+
}
394+
395+
// st-rect
396+
kn = getStructuringElement(MORPH_RECT, sz);
397+
kdi = stMorph::decompKernel(kn);
398+
meter.start();
399+
stMorph::erode(img, dst, kdi);
400+
meter.stop();
401+
ss << "\t" << meter.getTimeMilli();
402+
meter.reset();
403+
404+
// st-cross
405+
kn = getStructuringElement(MORPH_CROSS, sz);
406+
kdi = stMorph::decompKernel(kn);
407+
meter.start();
408+
stMorph::erode(img, dst, kdi);
409+
meter.stop();
410+
ss << "\t" << meter.getTimeMilli();
411+
meter.reset();
412+
413+
// st-ellipse
414+
kn = getStructuringElement(MORPH_ELLIPSE, sz);
415+
kdi = stMorph::decompKernel(kn);
416+
meter.start();
417+
stMorph::erode(img, dst, kdi);
418+
meter.stop();
419+
ss << "\t" << meter.getTimeMilli() << "\n";
420+
meter.reset();
421+
}
422+
ss.close();
423+
}
424+
425+
TEST(ximgproc_StMorph_eval, integrated)
426+
{
427+
Mat img = im(CV_8UC3);
428+
Mat dst;
429+
int sizes[]{ 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 35, 41, 45, 51, 55, 61, 71,
430+
81, 91, 101, 121, 151, 171, 201, 221, 251, 301, 351, 401, 451, 501 };
431+
432+
std::ofstream ss("opencvlog_integrated.txt", std::ios_base::out);
433+
434+
for (int c = 0; c < 3; c++)
435+
for (int i: sizes)
436+
{
437+
ss << i;
438+
Size sz(i, i);
439+
cv::TickMeter meter;
440+
Mat kn;
441+
442+
// cv-rect
443+
kn = getStructuringElement(MORPH_RECT, sz);
444+
if (i <= 401)
445+
{
446+
meter.start();
447+
cv::erode(img, dst, kn);
448+
meter.stop();
449+
ss << "\t" << meter.getTimeMilli();
450+
meter.reset();
451+
}
452+
else
453+
{
454+
ss << "\t";
455+
}
456+
457+
// cv-cross
458+
kn = getStructuringElement(MORPH_CROSS, sz);
459+
if (i <= 401)
460+
{
461+
meter.start();
462+
cv::erode(img, dst, kn);
463+
meter.stop();
464+
ss << "\t" << meter.getTimeMilli();
465+
meter.reset();
466+
}
467+
else
468+
{
469+
ss << "\t";
470+
}
471+
472+
// cv-ellipse
473+
kn = getStructuringElement(MORPH_ELLIPSE, sz);
474+
if (i <= 23)
475+
{
476+
meter.start();
477+
cv::erode(img, dst, kn);
478+
meter.stop();
479+
ss << "\t" << meter.getTimeMilli();
480+
meter.reset();
481+
}
482+
else
483+
{
484+
ss << "\t";
485+
}
486+
487+
// st-rect
488+
kn = getStructuringElement(MORPH_RECT, sz);
489+
meter.start();
490+
stMorph::erode(img, dst, kn);
491+
meter.stop();
492+
ss << "\t" << meter.getTimeMilli();
493+
meter.reset();
494+
495+
// st-cross
496+
kn = getStructuringElement(MORPH_CROSS, sz);
497+
meter.start();
498+
stMorph::erode(img, dst, kn);
499+
meter.stop();
500+
ss << "\t" << meter.getTimeMilli();
501+
meter.reset();
502+
503+
// st-ellipse
504+
kn = getStructuringElement(MORPH_ELLIPSE, sz);
505+
meter.start();
506+
stMorph::erode(img, dst, kn);
507+
meter.stop();
508+
ss << "\t" << meter.getTimeMilli() << "\n";
509+
meter.reset();
510+
}
511+
ss.close();
512+
}
513+
#pragma endregion
514+
330515
}} // opencv_test:: ::

0 commit comments

Comments
 (0)