zoukankan      html  css  js  c++  java
  • OpenCV学习笔记(一)

    边界填充:

    c++实现,测试在mac pro里,输入720p时间0.4ms:

    cv::copyMakeBorder(image, dst, 20, 0, 0, 0, cv::BORDER_REPLICATE);

    python实现:

    dst = cv2.copyMakeBorder(img, int(top_y), int(down_y), int(left_x), int(right_x), cv2.BORDER_REPLICATE);

    参数选择, 左图replicate, 右图constant

    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就是两个矩形的交集

  • 相关阅读:
    DNS服务器配置
    动态网站技术CGI
    SED单行脚本快速参考(Unix 流编辑器)
    xen 安静的角落
    IP命令
    oracle 监听文件 说明
    LRU ,LRUW,CKPT-Q
    重建控制文件ORA-12720
    历史备份控制文件恢复数据库
    增量检查点和完全检查点
  • 原文地址:https://www.cnblogs.com/zhengmeisong/p/8970653.html
Copyright © 2011-2022 走看看