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例程

  • 相关阅读:
    植物大战僵尸游戏内存地址
    Win7如何取消用户登陆界面
    Adobe PS CS6安装详解
    MVC 支持同名路由,不同命名空间
    Session阻塞 读写锁引发的小问题
    GZipStream 压缩和解压
    IIS 工作原理之非托管代码旅程(一)
    Http协议(一)
    Css学习笔记 (一)
    Linq二 LinqToSql
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/9718748.html
Copyright © 2011-2022 走看看