added default detector for winSize(64,128) for hog on gpu
authorAnatoly Baksheev <no@email>
Tue, 16 Nov 2010 12:33:19 +0000 (12:33 +0000)
committerAnatoly Baksheev <no@email>
Tue, 16 Nov 2010 12:33:19 +0000 (12:33 +0000)
modules/core/src/system.cpp
modules/gpu/include/opencv2/gpu/gpu.hpp
modules/gpu/src/hog.cpp
tests/gpu/src/hog.cpp

index c7b31c0..a49f5e7 100644 (file)
@@ -528,8 +528,8 @@ CV_IMPL const char* cvErrorStr( int status )
     case CV_StsBadMemBlock :  return "Memory block has been corrupted";
     case CV_StsAssert :  return "Assertion failed";
     case CV_GpuNotSupported : return "No GPU support";
-    case CV_GpuApiCallError : return "GPU API error";
-    case CV_GpuNppCallError : return "NPP API error";
+    case CV_GpuApiCallError : return "Gpu Api call";
+    case CV_GpuNppCallError : return "Npp Api call";
     };
 
     sprintf(buf, "Unknown %s code %d", status >= 0 ? "status":"error", status);
index 752d4df..61a6887 100644 (file)
@@ -995,6 +995,7 @@ namespace cv
             double getWinSigma() const;\r
 \r
             static vector<float> getDefaultPeopleDetector();\r
+            static vector<float> getDefaultPeopleDetector_64x128();\r
             void setSVMDetector(const vector<float>& detector);\r
             bool checkDetectorSize() const;\r
 \r
index 88e9721..cba1709 100644 (file)
@@ -56,6 +56,7 @@ void cv::gpu::HOGDescriptor::detectMultiScale(const GpuMat&, vector<Rect>&, doub
 int cv::gpu::HOGDescriptor::numPartsWithin(int, int, int) { throw_nogpu(); return 0; }\r
 cv::Size cv::gpu::HOGDescriptor::numPartsWithin(cv::Size, cv::Size, cv::Size) { throw_nogpu(); return cv::Size(); } \r
 std::vector<float> cv::gpu::HOGDescriptor::getDefaultPeopleDetector() { throw_nogpu(); return std::vector<float>(); }\r
+std::vector<float> cv::gpu::HOGDescriptor::getDefaultPeopleDetector_64x128() { throw_nogpu(); return std::vector<float>(); }\r
 \r
 #else\r
 \r
@@ -310,6 +311,11 @@ cv::Size cv::gpu::HOGDescriptor::numPartsWithin(cv::Size size, cv::Size part_siz
 \r
 std::vector<float> cv::gpu::HOGDescriptor::getDefaultPeopleDetector()\r
 {\r
+    return getDefaultPeopleDetector_64x128();\r
+}\r
+\r
+std::vector<float> cv::gpu::HOGDescriptor::getDefaultPeopleDetector_64x128()\r
+{\r
     static const float detector[] = {\r
        0.05359386f, -0.14721455f, -0.05532170f, 0.05077307f,\r
        0.11547081f, -0.04268804f, 0.04635834f, -0.05468199f, 0.08232084f,\r
index e3f2719..cc3e903 100644 (file)
@@ -109,6 +109,8 @@ struct CV_GpuHogTest : public CvTest
 \r
         cv::gpu::HOGDescriptor hog;\r
         hog.setSVMDetector(cv::gpu::HOGDescriptor::getDefaultPeopleDetector());\r
+        //cpu detector may be updated soon\r
+        //hog.setSVMDetector(cv::HOGDescriptor::getDefaultPeopleDetector());\r
 \r
         std::vector<cv::Point> locations;\r
 \r