Added performance test for Canny
authorAndrey Kamaev <no@email>
Tue, 1 Nov 2011 09:07:34 +0000 (09:07 +0000)
committerAndrey Kamaev <no@email>
Tue, 1 Nov 2011 09:07:34 +0000 (09:07 +0000)
modules/imgproc/perf/perf_canny.cpp [new file with mode: 0644]
modules/imgproc/perf/perf_precomp.hpp

diff --git a/modules/imgproc/perf/perf_canny.cpp b/modules/imgproc/perf/perf_canny.cpp
new file mode 100644 (file)
index 0000000..c351659
--- /dev/null
@@ -0,0 +1,39 @@
+#include "perf_precomp.hpp"
+
+using namespace std;
+using namespace cv;
+using namespace perf;
+using std::tr1::make_tuple;
+using std::tr1::get;
+
+typedef std::tr1::tuple<String, int, bool, std::tr1::tuple<double, double> > Img_Aperture_L2_thresholds_t;
+typedef perf::TestBaseWithParam<Img_Aperture_L2_thresholds_t> Img_Aperture_L2_thresholds;
+
+PERF_TEST_P( Img_Aperture_L2_thresholds, canny,
+             testing::Combine(
+                 testing::Values( "cv/shared/lena.jpg", "stitching/b1.jpg" ),
+                 testing::Values( 3, 5 ),
+                 testing::Bool(),
+                 testing::Values( make_tuple(50.0, 100.0), make_tuple(0.0, 50.0) )
+             )
+           )
+{
+    String filename = getDataPath(get<0>(GetParam()));
+    int aperture = get<1>(GetParam());
+    bool useL2 = get<2>(GetParam());
+    double thresh_low = get<0>(get<3>(GetParam()));
+    double thresh_high = get<1>(get<3>(GetParam()));
+
+    Mat img = imread(filename, IMREAD_GRAYSCALE);
+    if (img.empty())
+        FAIL() << "Unable to load source image " << filename;
+    Mat edges(img.size(), img.type());
+
+    declare.in(img).out(edges);
+
+
+    TEST_CYCLE(100) { Canny(img, edges, thresh_low, thresh_high, aperture, useL2); }
+
+
+    SANITY_CHECK(edges);
+}
index f819ab1..bc6d2be 100644 (file)
@@ -3,6 +3,7 @@
 
 #include "opencv2/ts/ts.hpp"
 #include "opencv2/imgproc/imgproc.hpp"
+#include "opencv2/highgui/highgui.hpp"
 
 #if GTEST_CREATE_SHARED_LIBRARY
 #error no modules except ts should have GTEST_CREATE_SHARED_LIBRARY defined