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

级联分类器即为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


相关推荐

  • centos7纯手动安装kubernetes-v1.11版本

    centos7纯手动安装kubernetes-v1.11版本

    2022年4月3日
    82
  • jsonobject返回map_jsonobject转map对象

    jsonobject返回map_jsonobject转map对象原标题:jsonobject转map对象我们在开发嵌套数据的时候,有时会返回jsonobject数据,这是因为进行的是url访问,但是这个过程可能会出现异常,因此我们需要将jsonobject转map对象使用。本文将向大家介绍jsonobject转map对象的实现方法。1、依赖于jar包,使用json-lib包进行转换。相关jar包jakartacommons-lang2.5jakarta…

    2026年4月16日
    4
  • 浏览器被hao.360.cn劫持怎么办

    浏览器被hao.360.cn劫持怎么办特么的现在互联网太没节操了,一大早发现我的浏览器被hao.360.cn劫持了,弄了好久都没弄好,后来一想可能是因为qvod的原因,这可是哥当年看片的神器啊……废话不说:1,进入:C:\ProgramData\QvodPlayer\QvodWebBase2,点开1.0.0.53(或者其它)文件夹3,直接删除里面的文件是删除不了的。更改QvodWebBase64.dll后缀名为QvodWebB…

    2022年7月14日
    22
  • js判断数组长度

    js判断数组长度js 获取数组长度

    2026年3月18日
    1
  • 腾讯混元3D新模型发布并开源,可控生成让3D建模更实用!

    腾讯混元3D新模型发布并开源,可控生成让3D建模更实用!

    2026年3月12日
    1
  • 消息中间件有哪些

    消息中间件有哪些1 学习中间件的方式和技巧理解中间件在项目架构中的作用 以及各中间件的底层实现 可以使用一些类比的生活概念去理解中间件 使用一些主流图或者脑图的方式去梳理各个中间件在架构中的作用 尝试使用 Java 技术去实现中间件 静下来去思考中间件在项目中设计和使用的原因 如何找到对应的替代方案 尝试编写博客总结类同中间件技术的对比和使用场景 学会查看中间件的源码以及开源项目和博客 2 消息中间件的应用场景跨系统数据传递 高并发的流量削峰 数据的分发和异步处理 大数据分析与传递 分布式事务比

    2026年2月3日
    5

发表回复

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

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