Path: blob/master/modules/imgproc/perf/perf_goodFeaturesToTrack.cpp
16354 views
// This file is part of OpenCV project.1// It is subject to the license terms in the LICENSE file found in the top-level directory2// of this distribution and at http://opencv.org/license.html.3#include "perf_precomp.hpp"45namespace opencv_test {67typedef tuple<string, int, double, int, int, bool> Image_MaxCorners_QualityLevel_MinDistance_BlockSize_gradientSize_UseHarris_t;8typedef perf::TestBaseWithParam<Image_MaxCorners_QualityLevel_MinDistance_BlockSize_gradientSize_UseHarris_t> Image_MaxCorners_QualityLevel_MinDistance_BlockSize_gradientSize_UseHarris;910PERF_TEST_P(Image_MaxCorners_QualityLevel_MinDistance_BlockSize_gradientSize_UseHarris, goodFeaturesToTrack,11testing::Combine(12testing::Values( "stitching/a1.png", "cv/shared/pic5.png"),13testing::Values( 100, 500 ),14testing::Values( 0.1, 0.01 ),15testing::Values( 3, 5 ),16testing::Values( 3, 5 ),17testing::Bool()18)19)20{21string filename = getDataPath(get<0>(GetParam()));22int maxCorners = get<1>(GetParam());23double qualityLevel = get<2>(GetParam());24int blockSize = get<3>(GetParam());25int gradientSize = get<4>(GetParam());26bool useHarrisDetector = get<5>(GetParam());2728Mat image = imread(filename, IMREAD_GRAYSCALE);29if (image.empty())30FAIL() << "Unable to load source image" << filename;3132std::vector<Point2f> corners;3334double minDistance = 1;35TEST_CYCLE() goodFeaturesToTrack(image, corners, maxCorners, qualityLevel, minDistance, noArray(), blockSize, gradientSize, useHarrisDetector);3637if (corners.size() > 50)38corners.erase(corners.begin() + 50, corners.end());3940SANITY_CHECK(corners);41}4243} // namespace444546