mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.0 KiB
66 lines
2.0 KiB
// This file is part of OpenCV project. |
|
// It is subject to the license terms in the LICENSE file found in the top-level directory |
|
// of this distribution and at http://opencv.org/license.html. |
|
// |
|
// Copyright (C) 2017, Intel Corporation, all rights reserved. |
|
// Third party copyrights are property of their respective owners. |
|
|
|
#include "perf_precomp.hpp" |
|
|
|
namespace opencv_test { |
|
|
|
using Utils_blobFromImage = TestBaseWithParam<std::vector<int>>; |
|
PERF_TEST_P_(Utils_blobFromImage, HWC_TO_NCHW) { |
|
std::vector<int> input_shape = GetParam(); |
|
|
|
Mat input(input_shape, CV_32FC3); |
|
randu(input, -10.0f, 10.f); |
|
|
|
TEST_CYCLE() { |
|
Mat blob = blobFromImage(input); |
|
} |
|
|
|
SANITY_CHECK_NOTHING(); |
|
} |
|
|
|
INSTANTIATE_TEST_CASE_P(/**/, Utils_blobFromImage, |
|
Values(std::vector<int>{ 32, 32}, |
|
std::vector<int>{ 64, 64}, |
|
std::vector<int>{ 128, 128}, |
|
std::vector<int>{ 256, 256}, |
|
std::vector<int>{ 512, 512}, |
|
std::vector<int>{1024, 1024}, |
|
std::vector<int>{2048, 2048}) |
|
); |
|
|
|
using Utils_blobFromImages = TestBaseWithParam<std::vector<int>>; |
|
PERF_TEST_P_(Utils_blobFromImages, HWC_TO_NCHW) { |
|
std::vector<int> input_shape = GetParam(); |
|
int batch = input_shape.front(); |
|
std::vector<int> input_shape_no_batch(input_shape.begin()+1, input_shape.end()); |
|
|
|
std::vector<Mat> inputs; |
|
for (int i = 0; i < batch; i++) { |
|
Mat input(input_shape_no_batch, CV_32FC3); |
|
randu(input, -10.0f, 10.f); |
|
inputs.push_back(input); |
|
} |
|
|
|
TEST_CYCLE() { |
|
Mat blobs = blobFromImages(inputs); |
|
} |
|
|
|
SANITY_CHECK_NOTHING(); |
|
} |
|
|
|
INSTANTIATE_TEST_CASE_P(/**/, Utils_blobFromImages, |
|
Values(std::vector<int>{16, 32, 32}, |
|
std::vector<int>{16, 64, 64}, |
|
std::vector<int>{16, 128, 128}, |
|
std::vector<int>{16, 256, 256}, |
|
std::vector<int>{16, 512, 512}, |
|
std::vector<int>{16, 1024, 1024}, |
|
std::vector<int>{16, 2048, 2048}) |
|
); |
|
|
|
}
|
|
|