Path: blob/master/modules/core/perf/perf_io_base64.cpp
16354 views
#include "perf_precomp.hpp"12namespace opencv_test3{4using namespace perf;56typedef tuple<cv::Size, MatType, String> Size_MatType_Str_t;7typedef TestBaseWithParam<Size_MatType_Str_t> Size_Mat_StrType;89#define MAT_SIZES ::perf::sz1080p/*, ::perf::sz4320p*/10#define MAT_TYPES CV_8UC1, CV_32FC111#define FILE_EXTENSION String(".xml"), String(".yml"), String(".json")121314PERF_TEST_P(Size_Mat_StrType, fs_text,15testing::Combine(testing::Values(MAT_SIZES),16testing::Values(MAT_TYPES),17testing::Values(FILE_EXTENSION))18)19{20Size size = get<0>(GetParam());21int type = get<1>(GetParam());22String ext = get<2>(GetParam());2324Mat src(size.height, size.width, type);25Mat dst = src.clone();2627declare.in(src, WARMUP_RNG).out(dst);2829cv::String file_name = cv::tempfile(ext.c_str());30cv::String key = "test_mat";3132TEST_CYCLE_MULTIRUN(2)33{34{35FileStorage fs(file_name, cv::FileStorage::WRITE);36fs << key << src;37fs.release();38}39{40FileStorage fs(file_name, cv::FileStorage::READ);41fs[key] >> dst;42fs.release();43}44}4546remove(file_name.c_str());47SANITY_CHECK_NOTHING();48}4950PERF_TEST_P(Size_Mat_StrType, fs_base64,51testing::Combine(testing::Values(MAT_SIZES),52testing::Values(MAT_TYPES),53testing::Values(FILE_EXTENSION))54)55{56Size size = get<0>(GetParam());57int type = get<1>(GetParam());58String ext = get<2>(GetParam());5960Mat src(size.height, size.width, type);61Mat dst = src.clone();6263cv::String file_name = cv::tempfile(ext.c_str());64cv::String key = "test_mat";6566declare.in(src, WARMUP_RNG).out(dst);67TEST_CYCLE_MULTIRUN(2)68{69{70FileStorage fs(file_name, cv::FileStorage::WRITE_BASE64);71fs << key << src;72fs.release();73}74{75FileStorage fs(file_name, cv::FileStorage::READ);76fs[key] >> dst;77fs.release();78}79}8081remove(file_name.c_str());82SANITY_CHECK_NOTHING();83}8485} // namespace868788