级联分类器原理(级联器是什么)

级联分类器即为Emgucv中的CascadeClassifier。使用CascadeClassifier来加载一个.xml分类器文件,然后使用DetectMultiScale函数来对图片进行检测。这是DetectMultiScale函数。publicRectangle[]DetectMultiScale(IInputArrayimage,doublescaleFactor=1.

大家好,又见面了,我是你们的朋友全栈君。

级联分类器即为Emgucv中的 CascadeClassifier。使用 CascadeClassifier来加载一个.xml分类器文件,然后使用DetectMultiScale函数来对图片进行检测。
这是DetectMultiScale函数。

public Rectangle[] DetectMultiScale(IInputArray image, double scaleFactor = 1.1, int minNeighbors = 3, Size minSize = default(Size), Size maxSize = default(Size));

第一个参数为待检测的图片,对类型没有要求。
第二个参数为用于缩放的因子。
第三个参数为两个检测到指定物体的最小距离。
第四第五个分别为检测到物体的最小和最大尺寸。

在进行检测时,如果要求检测速度(比如通过摄像头实时检测),那就需要对后面的参数进行修改,要把缩放参数调大点火把最小尺寸调大一点。
代码非常简短

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();     
            CascadeClassifier haar = new CascadeClassifier("haarcascade_frontalface_default.xml");    //初始化分类器
            Image<Bgr, byte> frame= new Image<Bgr, byte>("e9bbb8525c7da64cd78beed8b237c5e4.jpg");
            Rectangle[] faces = haar.DetectMultiScale(frame, 1.3, 3, new System.Drawing.Size(40, 40));       //检测并将数据储存
            foreach (Rectangle face in faces)
            {
                CvInvoke.Rectangle(frame, face, new Bgr(Color.Red).MCvScalar, 2);  //在检测到的区域绘制红框
            }
            imageBox1.Image = frame;
        }
    }

运行效果图:
这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127556.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月10日 上午11:00
下一篇 2022年4月10日 上午11:00


相关推荐

  • matlab as(assert dominance)

    目录一.语法1.输入参数二.说明三.示例1.值在预期范围之内2.期望的数据类型3.预期的代码执行情况assert是条件为false时引发错误。一.语法assert(cond)assert(cond,msg)assert(cond,msg,A1,…,An)assert(cond,errID,msg)assert(cond,errID,msg,A1,…,An)1.输入参数cond-断言条件MATLAB表达式..

    2022年4月15日
    44
  • 科大讯飞星火app(5.4.0)

    科大讯飞星火app(5.4.0)

    2026年3月14日
    2
  • Java面对对象编程(超详细)

    Java面对对象编程(超详细)1、成员变量和成员方法成员变量(又叫属性,字段)成员方法2、类和对象的内存分配机制Java内存的结构分析栈:一般存放基本数据类型(局部变量)堆:存放对象(Catcat,数组等)

    2022年7月2日
    28
  • awr报告 解读_AWR报告分析解读

    awr报告 解读_AWR报告分析解读http blog csdn net weiwangsisof article details AWR 报告头信息 DBName 数据库名字 DBid 数据库 idElapsed 采样时间段 DBTime 用户操作花费的时间 不包括 Oracle 后台进程消耗的时间 DBTime 远小于 ElapsedTime 说明数据库比较空闲 2 AWR 负载概要信息 PerSecond

    2026年3月19日
    2
  • 廖雪峰python3复习总结——day2-1

    廖雪峰python3复习总结——day2-1python 四大数据类型 1 list 列表 有序集合 可以随时添加和删除其中的元素 符号 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 用 len 函数可以获得 list 元素个数 用索引来访问 list 中 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 每一个位置的元素 索引号是从 0 开始 最后一个索引是 len list 1 也可以用负数索引 list 1 表示最后一个元素 nbsp nbsp

    2026年3月19日
    3
  • @MapperScan注解怎么用

    @MapperScan注解怎么用早点的时间是直接在Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解,比较麻烦。现在通过使用@MapperScan可以指定要扫描的Mapper类的包的路径,比如:@SpringBootApplication@MapperScan("com.lz.water.monitor.mapper")//添加对mapper包扫描publicclassApplica…

    2022年6月4日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号