add reproducer and bugfix

This commit is contained in:
Smirnov Egor 2021-05-24 17:09:33 +03:00
parent b335fe67b0
commit 84f78059d3
2 changed files with 25 additions and 0 deletions

View File

@ -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);

View File

@ -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;