gpu: added Cascade and mulAndScaleSpectrums perf tests
This commit is contained in:
@@ -1020,4 +1020,73 @@ INSTANTIATE_TEST_CASE_P(ImgProc, ImagePyramid_getLayer, testing::Combine(
|
||||
GPU_TYPICAL_MAT_SIZES,
|
||||
testing::Values(CV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3, CV_32FC4)));
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// MulAndScaleSpectrums
|
||||
|
||||
GPU_PERF_TEST(MulAndScaleSpectrums, cv::gpu::DeviceInfo, cv::Size)
|
||||
{
|
||||
cv::gpu::DeviceInfo devInfo = GET_PARAM(0);
|
||||
cv::Size size = GET_PARAM(1);
|
||||
|
||||
cv::gpu::setDevice(devInfo.deviceID());
|
||||
|
||||
int type = CV_32FC2;
|
||||
|
||||
cv::Mat src1_host(size, type);
|
||||
cv::Mat src2_host(size, type);
|
||||
declare.in(src1_host, src2_host, WARMUP_RNG);
|
||||
|
||||
cv::gpu::GpuMat src1(src1_host);
|
||||
cv::gpu::GpuMat src2(src2_host);
|
||||
cv::gpu::GpuMat dst(size, type);
|
||||
|
||||
TEST_CYCLE()
|
||||
{
|
||||
cv::gpu::mulSpectrums(src1, src2, dst, cv::DFT_ROWS, false);
|
||||
}
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(ImgProc, MulAndScaleSpectrums, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
GPU_TYPICAL_MAT_SIZES));
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// MulAndScaleSpectrumsScale
|
||||
|
||||
|
||||
GPU_PERF_TEST(MulAndScaleSpectrumsScale, cv::gpu::DeviceInfo, cv::Size)
|
||||
{
|
||||
cv::gpu::DeviceInfo devInfo = GET_PARAM(0);
|
||||
cv::Size size = GET_PARAM(1);
|
||||
|
||||
float scale = 1.f / size.area();
|
||||
int type = CV_32FC2;
|
||||
|
||||
cv::gpu::setDevice(devInfo.deviceID());
|
||||
|
||||
cv::Mat src1_host(size, type);
|
||||
cv::Mat src2_host(size, type);
|
||||
declare.in(src1_host, src2_host, WARMUP_RNG);
|
||||
|
||||
cv::gpu::GpuMat src1(src1_host);
|
||||
cv::gpu::GpuMat src2(src2_host);
|
||||
cv::gpu::GpuMat dst(size, type);
|
||||
|
||||
TEST_CYCLE()
|
||||
{
|
||||
cv::gpu::mulAndScaleSpectrums(src1, src2, dst, cv::DFT_ROWS, scale, false);
|
||||
}
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(ImgProc, MulAndScaleSpectrumsScale, testing::Combine(
|
||||
ALL_DEVICES,
|
||||
GPU_TYPICAL_MAT_SIZES));
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
@@ -24,4 +24,32 @@ GPU_PERF_TEST_1(HOG, cv::gpu::DeviceInfo)
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(ObjDetect, HOG, ALL_DEVICES);
|
||||
|
||||
CV_FLAGS(DftFlags, 0, cv::DFT_INVERSE, cv::DFT_SCALE, cv::DFT_ROWS, cv::DFT_COMPLEX_OUTPUT, cv::DFT_REAL_OUTPUT)
|
||||
|
||||
GPU_PERF_TEST_1(HaarClassifier, cv::gpu::DeviceInfo, DftFlags)
|
||||
{
|
||||
cv::gpu::DeviceInfo devInfo = GetParam();
|
||||
cv::gpu::setDevice(devInfo.deviceID());
|
||||
|
||||
cv::Mat img_host = readImage("gpu/haarcascade/group_1_640x480_VGA.pgm", cv::IMREAD_GRAYSCALE);
|
||||
|
||||
cv::gpu::CascadeClassifier_GPU cascade;
|
||||
|
||||
if (!cascade.load("haarcascade_frontalface_alt.xml"))
|
||||
CV_Error(0, "Can't load cascade");
|
||||
|
||||
cv::gpu::GpuMat img(img_host);
|
||||
cv::gpu::GpuMat objects_buffer(1, 100, cv::DataType<cv::Rect>::type);
|
||||
|
||||
TEST_CYCLE()
|
||||
{
|
||||
cascade.detectMultiScale(img, objects_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(ObjDetect, HaarClassifier, ALL_DEVICES);
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user