\r
INSTANTIATE_TEST_CASE_P(ObjDetect, HaarClassifier, ALL_DEVICES);\r
\r
+//===================== LBP cascade ==========================//\r
+GPU_PERF_TEST_1(LBPClassifier, cv::gpu::DeviceInfo)\r
+{\r
+ cv::gpu::DeviceInfo devInfo = GetParam();\r
+ cv::gpu::setDevice(devInfo.deviceID());\r
+\r
+ cv::Mat img_host = readImage("gpu/haarcascade/group_1_640x480_VGA.pgm", cv::IMREAD_GRAYSCALE);\r
+ ASSERT_FALSE(img_host.empty());\r
+\r
+ cv::gpu::CascadeClassifier_GPU_LBP cascade;\r
+\r
+ ASSERT_TRUE(cascade.load(perf::TestBase::getDataPath("gpu/lbpcascade/lbpcascade_frontalface.xml")));\r
+\r
+ cv::gpu::GpuMat img(img_host);\r
+ cv::gpu::GpuMat gpu_rects, buffer;\r
+\r
+ // cascade.detectMultiScale(img, objects_buffer);\r
+ cascade.detectMultiScale(img, buffer, gpu_rects);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cascade.detectMultiScale(img, buffer, gpu_rects);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(ObjDetect, LBPClassifier, ALL_DEVICES);\r
+\r
#endif\r
\r
INSTANTIATE_TEST_CASE_P(ObjDetect, HaarClassifier, ALL_DEVICES);\r
\r
+//===================== LBP cascade ==========================//\r
+GPU_PERF_TEST_1(LBPClassifier, cv::gpu::DeviceInfo)\r
+{\r
+ cv::Mat img = readImage("gpu/haarcascade/group_1_640x480_VGA.pgm", cv::IMREAD_GRAYSCALE);\r
+ ASSERT_FALSE(img.empty());\r
+\r
+ cv::CascadeClassifier cascade;\r
+\r
+ ASSERT_TRUE(cascade.load(perf::TestBase::getDataPath("gpu/lbpcascade/lbpcascade_frontalface.xml")));\r
+\r
+ std::vector<cv::Rect> rects;\r
+\r
+ cascade.detectMultiScale(img, rects);\r
+\r
+ TEST_CYCLE()\r
+ {\r
+ cascade.detectMultiScale(img, rects);\r
+ }\r
+}\r
+\r
+INSTANTIATE_TEST_CASE_P(ObjDetect, LBPClassifier, ALL_DEVICES);\r
+\r
#endif\r
\r
if (groupThreshold <= 0 || objects.empty())\r
return 0;\r
- return cv::gpu::device::lbp::connectedConmonents(candidates, groupThreshold, grouping_eps, dclassified);\r
+ cv::gpu::device::lbp::connectedConmonents(candidates, groupThreshold, grouping_eps, dclassified);\r
+ cudaSafeCall( cudaDeviceSynchronize() );\r
+ return *classified;\r
}\r
\r
// ============ old fashioned haar cascade ==============================================//\r
/*\r
* Copyright 1993-2010 NVIDIA Corporation. All rights reserved.\r
*\r
- * NVIDIA Corporation and its licensors retain all intellectual \r
- * property and proprietary rights in and to this software and \r
- * related documentation and any modifications thereto. \r
- * Any use, reproduction, disclosure, or distribution of this \r
- * software and related documentation without an express license \r
+ * NVIDIA Corporation and its licensors retain all intellectual\r
+ * property and proprietary rights in and to this software and\r
+ * related documentation and any modifications thereto.\r
+ * Any use, reproduction, disclosure, or distribution of this\r
+ * software and related documentation without an express license\r
* agreement from NVIDIA Corporation is strictly prohibited.\r
*/\r
\r
int borderType;\r
bool useRoi;\r
\r
- cv::Mat M;\r
-\r
virtual void SetUp()\r
{\r
devInfo = GET_PARAM(0);\r
int borderType;\r
bool useRoi;\r
\r
- cv::Mat M;\r
-\r
virtual void SetUp()\r
{\r
devInfo = GET_PARAM(0);\r