opencv 目标检测 CascadeClassifier工作原理

本文介绍了OpenCV中的CascadeClassifier在目标检测中的应用,详细解析了detectMultiScale()方法的多个重载版本,包括其参数意义和检测流程。通过图像金字塔逐层检测,滑动窗口进行目标检测,并探讨了如何利用并行处理加速检测过程。
摘要由CSDN通过智能技术生成

opencv 目标检测模块opencv_objdetect中的类 CascadeClassifierImpl 实现了几个重要的方法load()和detectMultiScale()。load()是用来加载训练好的模型的;而detectMultiScale()实现了多尺度检测的过程,它有三重重载:

 void detectMultiScale( InputArray image,                      //输入图像
                          CV_OUT std::vector<Rect>& objects,   // 检测到的目标区域
                          double scaleFactor = 1.1,                      // 搜索前后两次窗口大小比例系数
                          int minNeighbors = 3, int flags = 0,     // 候选框邻居的最小个数   及 flag
                          Size minSize = Size(),                            //能检测的最小尺寸
                          Size maxSize = Size() );                         //能检测的最大尺寸



    void detectMultiScale( InputArray image,                
                          CV_OUT std::vector<Rect>& objects,
                          CV_OUT std::vector<int>& numDetections,  
                          double scaleFactor=1.1,
                          int minNeighbors=3, int flags=0,
                          Size minSize=Size(),
                          Size maxSize=Size() );


    void detectMultiScale( InputArray image,
                          CV_OUT std::vector<Rect>& objects,
                          CV_OUT std::vector<int>& rejectLevels,                     //
                          CV_OUT std::vector<double>& levelWeights,
                          double scaleFactor = 1.1,
                          int minNeighbors = 3, int flags = 0,
                          Size minSize = Size(),

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值