Commit e2ff0ed1 authored by Andrey Kamaev's avatar Andrey Kamaev

Add sanity checks to objdetect module perf tests

parent c146c54b
...@@ -38,17 +38,20 @@ PERF_TEST_P(ImageName_MinSize, CascadeClassifierLBPFrontalFace, ...@@ -38,17 +38,20 @@ PERF_TEST_P(ImageName_MinSize, CascadeClassifierLBPFrontalFace,
if (img.empty()) if (img.empty())
FAIL() << "Can't load source image"; FAIL() << "Can't load source image";
vector<Rect> res; vector<Rect> faces;
equalizeHist(img, img); equalizeHist(img, img);
declare.in(img); declare.in(img);
while(next()) while(next())
{ {
res.clear(); faces.clear();
startTimer(); startTimer();
cc.detectMultiScale(img, res, 1.1, 3, 0, minSize); cc.detectMultiScale(img, faces, 1.1, 3, 0, minSize);
stopTimer(); stopTimer();
} }
std::sort(faces.begin(), faces.end(), comparators::RectLess());
SANITY_CHECK(faces);
} }
...@@ -473,10 +473,26 @@ int main(int argc, char **argv)\ ...@@ -473,10 +473,26 @@ int main(int argc, char **argv)\
#define TEST_CYCLE() for(; startTimer(), next(); stopTimer()) #define TEST_CYCLE() for(; startTimer(), next(); stopTimer())
#define TEST_CYCLE_MULTIRUN(runsNum) for(declare.runs(runsNum); startTimer(), next(); stopTimer()) for(int r = 0; r < runsNum; ++r) #define TEST_CYCLE_MULTIRUN(runsNum) for(declare.runs(runsNum); startTimer(), next(); stopTimer()) for(int r = 0; r < runsNum; ++r)
//flags
namespace perf namespace perf
{ {
//GTEST_DECLARE_int32_(allowed_outliers); namespace comparators
{
template<typename T>
struct CV_EXPORTS RectLess_
{
bool operator()(const cv::Rect_<T>& r1, const cv::Rect_<T>& r2) const
{
return r1.x < r2.x
|| (r1.x == r2.x && r1.y < r2.y)
|| (r1.x == r2.x && r1.y == r2.y && r1.width < r2.width)
|| (r1.x == r2.x && r1.y == r2.y && r1.width == r2.width && r1.height < r2.height);
}
};
typedef RectLess_<int> RectLess;
} //namespace comparators
} //namespace perf } //namespace perf
#endif //__OPENCV_TS_PERF_HPP__ #endif //__OPENCV_TS_PERF_HPP__
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment