@@ -388,7 +388,83 @@ TEST(ximgproc_StMorph_comp, 5_stDilate) { stDilate(im(CV_8UC3), knOnes()); }
388388TEST (ximgproc_StMorph_comp, 5_stEerode) { stErode (im (CV_8UC3), knOnes ()); }
389389TEST (ximgproc_StMorph_comp, 5_cvDilate) { cvDilate (im (CV_8UC3), knOnes ()); }
390390TEST (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