OpenCV学习笔记

Rect:

一段判断两个候选框相似性的代码:

    inline int32_t operator()(const cv::Rect& r1, const cv::Rect& r2) const
    {
        double delta = eps * (std::min(r1.width, r2.width) + std::min(r1.height, r2.height)) * 0.5;  //计算阈值
        return (abs(r1.x - r2.x) <= delta &&                                                         
            abs(r1.y - r2.y) <= delta &&
            abs(r1.x + r1.width - r2.x - r2.width) <= delta &&
            abs(r1.y + r1.height - r2.y - r2.height) <= delta) || (r1 & r2).area() == std::min(r1.area(), r2.area());
    }

前面4个与用来保证两个矩形框的左上、右下坐标之差小于阈值,最后那个或是考虑是否其中一个矩形完全包含另外一个矩形

Rect rect = rect1 & rect2;
rect就是两个矩形的交集

猜你喜欢

转载自www.cnblogs.com/zhengmeisong/p/8970653.html