C# 使用opencv从图片识别人脸示例

这篇具有很好参考价值的文章主要介绍了C# 使用opencv从图片识别人脸示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C# 使用opencv从图片识别人脸示例,C#,c#,opencv,开发语言 

1.用chatgpt帮我写了一个示例

using System;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;

class Program
{
    static void Main(string[] args)
    {
        // 加载人脸分类器
        CascadeClassifier faceCascade = new CascadeClassifier("haarcascade_frontalface_default.xml");

        // 加载图像
        Image<Bgr, byte> image = new Image<Bgr, byte>("image.jpg");

        // 将图像转为灰度图
        Image<Gray, byte> grayImage = image.Convert<Gray, byte>();

        // 人脸检测
        var faces = faceCascade.DetectMultiScale(
            grayImage, 
            scaleFactor: 1.1, 
            minNeighbors: 5, 
            minSize: new Size(30, 30));

        // 在图像中绘制检测到的人脸
        foreach (var face in faces)
        {
            image.Draw(face, new Bgr(0, 255, 0), 3);
        }

        // 展示结果
        CvInvoke.Imshow("人脸识别", image);
        CvInvoke.WaitKey(0);
    }
}

 

2.手工安装所需要包

需要安装Emgu.CV(编译时用)和Emgu.CV.runtime.windows(运行时用,不然会报缺少dll) 

DllNotFoundException: Unable to load DLL 'cvextern' or one of its dependenci

3.测试结果

准备https://codeload.github.com/opencv/opencv/zip/refs/tags/4.8.0 解压后需要这个文件D:\\test\\opencv-4.8.0\\data\\haarcascades\\haarcascade_frontalface_default.xml

准备一张图片 有人脸的image.jpg。

运行:

还多了2个框。怎么办呢?

还有的图片没有检测出来,怎么办呢?

C# 使用opencv从图片识别人脸示例,C#,c#,opencv,开发语言

4.如何提高人脸识别的精确度

C# 使用opencv从图片识别人脸示例,C#,c#,opencv,开发语言

看来想简单使用这些前沿技术,应用到实际项目中也没有那么容易 。

C# 使用opencv从图片识别人脸示例,C#,c#,opencv,开发语言

 通过改参数,看看结果是高了还是低了,来决定最终的参数。文章来源地址https://www.toymoban.com/news/detail-612455.html

到了这里,关于C# 使用opencv从图片识别人脸示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#开发Windouw窗体之Form窗体及示例(基础)

    Forms窗体也称为窗口,通过窗体可以显示信息、请求用户输入以及通过网络与远程计算机通信。 我们首先要明白三点: 1.窗体也是对象,窗体类定义了生成窗体的模板,每当实例化一个窗体类,就产生一个窗体 2.Form类是所有窗体类的基类。 3.在一个项目中,每个窗体都有自己

    2024年02月02日
    浏览(28)
  • (一)Qt+OpenCV调用海康工业相机SDK示例开发

    提示:这里是该系列文章的所有文章的目录 第一章: (一)Qt+OpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 近期在Qt环境下进行海康工业相机的使用开发,发现海康提供的示例没有Qt的demo,而其中有基于MFC框架的示例,所以在这

    2024年02月03日
    浏览(56)
  • C#,OpenCV开发指南(01)

    在VS中,通过其工具中自带的扩展包就安装了,不需要像C++中用opencv那样,还要配置属性。 安装步骤:工具——》Nuget包管理器——》管理解决方案的Nuget包。直接搜索opencvsharp。

    2024年02月14日
    浏览(39)
  • C/C++开发,opencv基于FileStorage读写文件介绍及示例

    目录 一、FileStorage类         1.1 FileStorage类说明         1.2 FileStorage类写入说明         1.3 FileStorage类读取说明 二、FileStorage类应用示例         2.1 应用代码         2.2 工程组织(Makefile)         2.3 编译及测试         1.1 FileStorage类说明         

    2024年02月12日
    浏览(31)
  • 微信小程序图片使用示例

    小程序官方API:https://developers.weixin.qq.com/miniprogram/dev/component/image.html 1:加载本地文件夹图片 image src=\\\"/image/pig.jpg\\\" mode=\\\"aspectFill\\\" /image mnn 2:加载服务器图片 wxml: image src=\\\"{ {imageUrl}}\\\" mode=\\\"aspectFill\\\" /image js: Page({ data: { imageUrl: \\\"

    2024年02月10日
    浏览(27)
  • OpenCV识别人脸案例实战

    在OpenCV中,人脸检测使用的是cv2.CascadeClassifier.detectMultiScale()函数,它可以检测出图片中所有的人脸。该函数由分类器对象调用,其语法格式为: objects = cv2.CascadeClassifier.detectMultiScale( image[, scaleFactor[,  minNeighbors[, flags[, minSize[, maxSize]]]]] ) 式中各个参数及返回值的含义为: i

    2024年02月19日
    浏览(26)
  • C# &OpenCV 从零开发(0):前言

    由于我想换个机器视觉+运动控制的工作,我就开始了自学机器视觉方向的技术。但是Halcon毕竟是商业化的库,国内用盗版还是怕被告。所以期望使用OpenCV。 OpenCV目前已知的方法的有两个版本 Python:用起来挺简单的,就是Python的语言不适合管理,感觉以后必定会出现问题,不适

    2024年01月18日
    浏览(51)
  • Python 使用 Stable Diffusion API 生成图片示例

    代码: 输出: 说明: 运行后,图片以及 JSON 将会输出到当前目录下 output 中; TIP: 当然前提是你已经部署好 Stable Diffusion API 服务; 并且安装好跟我一样的模型以及一些相关的 LoRA ;

    2024年02月16日
    浏览(50)
  • 当前主流开发语言有哪些:了解其特性、应用与示例

    随着技术飞速发展,编程语言的丰富多样性为开发者提供了广泛的选择。每种语言都有其适用的场景和独特的特性。本文将综合探讨目前市场上最流行、最多人使用的几种主流开发语言,包括它们的特点、典型应用场景以及简单示例代码。 特点 Python 因其简洁明了的语法和强

    2024年02月22日
    浏览(30)
  • 【opencv】示例-grabcut.cpp 使用OpenCV库的GrabCut算法进行图像分割

    left mouse button - set rectangle SHIFT+left mouse button - set GC_FGD pixels CTRL+left mouse button - set GC_BGD pixels 这段代码是一个 使用OpenCV库的GrabCut算法进行图像分割 的C++程序。它允许用户通过交互式方式选择图像中的一个区域,并利用GrabCut算法尝试将其分割出来。代码中包含用户操作指南、

    2024年04月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包