mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 07:43:03 +04:00
Merge branch 4.x
This commit is contained in:
@@ -5,7 +5,10 @@ import org.opencv.core.Mat;
|
||||
import org.opencv.objdetect.QRCodeDetector;
|
||||
import org.opencv.imgcodecs.Imgcodecs;
|
||||
import org.opencv.test.OpenCVTestCase;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
public class QRCodeDetectorTest extends OpenCVTestCase {
|
||||
|
||||
@@ -39,11 +42,7 @@ public class QRCodeDetectorTest extends OpenCVTestCase {
|
||||
boolean result = detector.detectAndDecodeMulti(img, output);
|
||||
assertTrue(result);
|
||||
assertEquals(output.size(), 6);
|
||||
assertEquals(output.get(0), "SKIP");
|
||||
assertEquals(output.get(1), "EXTRA");
|
||||
assertEquals(output.get(2), "TWO STEPS FORWARD");
|
||||
assertEquals(output.get(3), "STEP BACK");
|
||||
assertEquals(output.get(4), "QUESTION");
|
||||
assertEquals(output.get(5), "STEP FORWARD");
|
||||
List < String > expectedResults = Arrays.asList("SKIP", "EXTRA", "TWO STEPS FORWARD", "STEP BACK", "QUESTION", "STEP FORWARD");
|
||||
assertEquals(new HashSet<String>(output), new HashSet<String>(expectedResults));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,6 +120,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;
|
||||
|
||||
Reference in New Issue
Block a user