zoukankan      html  css  js  c++  java
  • 【opencv基础】detectmultiscale函数详解

    前言

    简单的人脸检测程序可以直接基于opencv的函数库进行实现,本文介绍一下detectMultiScale函数。

    函数简介

    opencv2人脸检测使用的是detectMultiScale函数,可以检测出图片中的所有人脸,并将vector类型保存各个人脸的位置和大小,用矩形Rect类表示,该函数由分类器的对象进行调用。

    Haar特征分类器

    Haar特征分类器就是一个XML文件,是opencv官方训练好的检测器,可以直接调用,存放在opencv的安装目录下。

    .opencvsourcesdatahaarcascades

    函数详解

    不同版本的调用函数可能会有些微差别,可以查看函数的声明等。detectmultiscale函数可以得到每个人脸的得分。具体的声明如下。

        CV_WRAP virtual void detectMultiScale( const Mat& image,
                                       CV_OUT vector<Rect>& objects,
                                       double scaleFactor=1.1,
                                       int minNeighbors=3, int flags=0,
                                       Size minSize=Size(),
                                       Size maxSize=Size() );
    
        CV_WRAP virtual void detectMultiScale( const Mat& image,
                                       CV_OUT vector<Rect>& objects,
                                       vector<int>& rejectLevels,
                                       vector<double>& levelWeights,
                                       double scaleFactor=1.1,
                                       int minNeighbors=3, int flags=0,
                                       Size minSize=Size(),
                                       Size maxSize=Size(),
                                       bool outputRejectLevels=false );

    rejectLevels:

    levelWeights:

    还有一个版本

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

    参考

    1.opencv官网

    2.opencv例程

  • 相关阅读:
    面向对象知识点总结
    并发编程知识点汇总
    网络编程知识点(一)
    常用模块(自己总结,不全)
    Bootstrap学习笔记(九) 进度条
    Bootstrap学习笔记(八) 导航栏&分页
    Bootstrap学习笔记(七) 输入框组
    Bootstrap学习笔记(六) 按钮组
    Bootstrap学习笔记(五) 下拉菜单
    Bootstrap学习笔记(四) 字体图标
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/9718748.html
Copyright © 2011-2022 走看看