update BruteForceMatcher_GPU performance test
authorVladislav Vinogradov <no@email>
Wed, 26 Jan 2011 15:35:41 +0000 (15:35 +0000)
committerVladislav Vinogradov <no@email>
Wed, 26 Jan 2011 15:35:41 +0000 (15:35 +0000)
samples/gpu/performance/tests.cpp

index 953a444..b47e8b4 100644 (file)
@@ -278,39 +278,24 @@ TEST(SURF)
 \r
 TEST(BruteForceMatcher)\r
 {\r
-    RNG rng(0);\r
-\r
     // Init CPU matcher\r
 \r
     int desc_len = 128;\r
-    int num_trains = rng.uniform(1, 5);\r
 \r
     BruteForceMatcher< L2<float> > matcher;\r
 \r
     Mat query; \r
-    gen(query, rng.uniform(100, 300), desc_len, CV_32F, 0, 10);\r
-\r
-    vector<Mat> trains(num_trains);\r
-    for (int i = 0; i < num_trains; ++i)\r
-    {\r
-        Mat train; \r
-        gen(train, rng.uniform(100, 300), desc_len, CV_32F, 0, 10);\r
-        trains[i] = train;\r
-    }\r
-    matcher.add(trains);\r
+    gen(query, 3000, desc_len, CV_32F, 0, 10);\r
+    \r
+    Mat train; \r
+    gen(train, 3000, desc_len, CV_32F, 0, 10);\r
 \r
     // Init GPU matcher\r
 \r
     gpu::BruteForceMatcher_GPU< L2<float> > d_matcher;\r
 \r
     gpu::GpuMat d_query(query);\r
-\r
-    vector<gpu::GpuMat> d_trains(num_trains);\r
-    for (int i = 0; i < num_trains; ++i)\r
-    {\r
-        d_trains[i] = trains[i];\r
-    }\r
-    d_matcher.add(d_trains);\r
+    gpu::GpuMat d_train(train);\r
 \r
     // Output\r
     vector< vector<DMatch> > matches(1);\r
@@ -319,32 +304,32 @@ TEST(BruteForceMatcher)
     SUBTEST << "match";\r
 \r
     CPU_ON;\r
-    matcher.match(query, matches[0]);\r
+    matcher.match(query, train, matches[0]);\r
     CPU_OFF;\r
 \r
     GPU_ON;\r
-    d_matcher.match(d_query, d_matches[0]);\r
+    d_matcher.match(d_query, d_train, d_matches[0]);\r
     GPU_OFF;\r
 \r
     SUBTEST << "knnMatch";\r
-    int knn = rng.uniform(3, 10);\r
+    int knn = 10;\r
 \r
     CPU_ON;\r
-    matcher.knnMatch(query, matches, knn);\r
+    matcher.knnMatch(query, train, matches, knn);\r
     CPU_OFF;\r
 \r
     GPU_ON;\r
-    d_matcher.knnMatch(d_query, d_matches, knn);\r
+    d_matcher.knnMatch(d_query, d_train, d_matches, knn);\r
     GPU_OFF;\r
 \r
     SUBTEST << "radiusMatch";\r
-    float max_distance = rng.uniform(25.0f, 65.0f);\r
+    float max_distance = 45.0f;\r
 \r
     CPU_ON;\r
-    matcher.radiusMatch(query, matches, max_distance);\r
+    matcher.radiusMatch(query, train, matches, max_distance);\r
     CPU_OFF;\r
 \r
     GPU_ON;\r
-    d_matcher.radiusMatch(d_query, d_matches, max_distance);\r
+    d_matcher.radiusMatch(d_query, d_train, d_matches, max_distance);\r
     GPU_OFF;\r
 }
\ No newline at end of file