add reproducer and bugfix

pull/20150/head
Smirnov Egor 4 years ago
parent b335fe67b0
commit 84f78059d3
  1. 6
      modules/objdetect/src/hog.cpp
  2. 19
      modules/objdetect/test/opencl/test_hogdetector.cpp

@ -122,6 +122,12 @@ void HOGDescriptor::setSVMDetector(InputArray _svmDetector)
_svmDetector.getMat().convertTo(svmDetector, CV_32F);
CV_Assert(checkDetectorSize());
if (_svmDetector.empty())
{
oclSvmDetector = UMat();
return;
}
Mat detector_reordered(1, (int)svmDetector.size(), CV_32FC1);
size_t block_hist_size = getBlockHistogramSize(blockSize, cellSize, nbins);

@ -93,6 +93,25 @@ OCL_TEST_P(HOG, GetDescriptors)
EXPECT_MAT_SIMILAR(cpu_desc, gpu_desc, 1e-1);
}
OCL_TEST_P(HOG, SVMDetector)
{
HOGDescriptor hog_first, hog_second;
// empty -> empty
hog_first.copyTo(hog_second);
// first -> both
hog_first.setSVMDetector(hog_first.getDefaultPeopleDetector());
hog_first.copyTo(hog_second);
// both -> both
hog_first.copyTo(hog_second);
// second -> empty
hog_first.setSVMDetector(cv::noArray());
hog_first.copyTo(hog_second);
}
OCL_TEST_P(HOG, Detect)
{
HOGDescriptor hog;

Loading…
Cancel
Save