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个框。怎么办呢?
还有的图片没有检测出来,怎么办呢?
4.如何提高人脸识别的精确度
看来想简单使用这些前沿技术,应用到实际项目中也没有那么容易 。
通过改参数,看看结果是高了还是低了,来决定最终的参数。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhcjjai
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22