opencv/modules/dnn/src/nms.cpp

34 lines
1.0 KiB
C++
Raw Normal View History

2017-10-17 00:16:52 +08:00
// 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 "precomp.hpp"
#include "nms.inl.hpp"
2017-10-17 00:16:52 +08:00
namespace cv
{
namespace dnn
{
CV__DNN_EXPERIMENTAL_NS_BEGIN
static inline float rectOverlap(const Rect& a, const Rect& b)
{
return 1.f - static_cast<float>(jaccardDistance(a, b));
}
2017-10-17 00:16:52 +08:00
void NMSBoxes(const std::vector<Rect>& bboxes, const std::vector<float>& scores,
const float score_threshold, const float nms_threshold,
std::vector<int>& indices, const float eta, const int top_k)
2017-10-17 00:16:52 +08:00
{
CV_Assert(bboxes.size() == scores.size(), score_threshold >= 0,
nms_threshold >= 0, eta > 0);
NMSFast_(bboxes, scores, score_threshold, nms_threshold, eta, top_k, indices, rectOverlap);
2017-10-17 00:16:52 +08:00
}
CV__DNN_EXPERIMENTAL_NS_END
2017-10-17 00:16:52 +08:00
}// dnn
}// cv