• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
小黄人软件
帮助1

学新通 

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

  1.  
    using System;
  2.  
    using Emgu.CV;
  3.  
    using Emgu.CV.CvEnum;
  4.  
    using Emgu.CV.Structure;
  5.  
     
  6.  
    class Program
  7.  
    {
  8.  
    static void Main(string[] args)
  9.  
    {
  10.  
    // 加载人脸分类器
  11.  
    CascadeClassifier faceCascade = new CascadeClassifier("haarcascade_frontalface_default.xml");
  12.  
     
  13.  
    // 加载图像
  14.  
    Image<Bgr, byte> image = new Image<Bgr, byte>("image.jpg");
  15.  
     
  16.  
    // 将图像转为灰度图
  17.  
    Image<Gray, byte> grayImage = image.Convert<Gray, byte>();
  18.  
     
  19.  
    // 人脸检测
  20.  
    var faces = faceCascade.DetectMultiScale(
  21.  
    grayImage,
  22.  
    scaleFactor: 1.1,
  23.  
    minNeighbors: 5,
  24.  
    minSize: new Size(30, 30));
  25.  
     
  26.  
    // 在图像中绘制检测到的人脸
  27.  
    foreach (var face in faces)
  28.  
    {
  29.  
    image.Draw(face, new Bgr(0, 255, 0), 3);
  30.  
    }
  31.  
     
  32.  
    // 展示结果
  33.  
    CvInvoke.Imshow("人脸识别", image);
  34.  
    CvInvoke.WaitKey(0);
  35.  
    }
  36.  
    }
学新通

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个框。怎么办呢?

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

学新通

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

学新通

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

学新通

 通过改参数,看看结果是高了还是低了,来决定最终的参数。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhhcjjai
系列文章
更多 icon
同类精品
更多 icon
继续加载