// 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>; PERF_TEST_P_(Utils_blobFromImage, HWC_TO_NCHW) { std::vector 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{ 32, 32}, std::vector{ 64, 64}, std::vector{ 128, 128}, std::vector{ 256, 256}, std::vector{ 512, 512}, std::vector{1024, 1024}, std::vector{2048, 2048}) ); using Utils_blobFromImages = TestBaseWithParam>; PERF_TEST_P_(Utils_blobFromImages, HWC_TO_NCHW) { std::vector input_shape = GetParam(); int batch = input_shape.front(); std::vector input_shape_no_batch(input_shape.begin()+1, input_shape.end()); std::vector 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{16, 32, 32}, std::vector{16, 64, 64}, std::vector{16, 128, 128}, std::vector{16, 256, 256}, std::vector{16, 512, 512}, std::vector{16, 1024, 1024}, std::vector{16, 2048, 2048}) ); }