使用OpencvSharp实现人脸识别

在网上有很多关于这方面的博客,但是都没有说完整,按照他们的博客做下来代码都不能跑。所以我就自己写个博客补充一下

我这使用的.NET框架版本是 .NetFramework4.7.1

使用Nuget安装这两个程序包就够了,不需要其他的配置

一定要安装OpenCvSharp4.runtime.win 否则运行后会报错

对单个图片进行人脸识别:

            string path = "D:\\素材\\R-C (1).jpg";        //aaaa.mp4
            Mat srcImg = Cv2.ImRead(path, (ImreadModes)1);

            //加载人眼、人脸模型数据
            OpenCvSharp.CascadeClassifier faceFinder = new CascadeClassifier(@"G:\baiduDownload\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml");
            OpenCvSharp.CascadeClassifier eyeFinder = new CascadeClassifier(@"G:\baiduDownload\opencv\sources\data\haarcascades\haarcascade_eye_tree_eyeglasses.xml");
            //进行检测识别
            Rect[] faceRects = faceFinder.DetectMultiScale(srcImg);
            Rect[] eyeRects = eyeFinder.DetectMultiScale(srcImg);
            //如果有检测到,就绘制结果到图像上
            if (faceRects.Length > 0)
            {
                Cv2.Rectangle(srcImg, faceRects[0], new Scalar(0, 0, 255), 3);
            }
            if (eyeRects.Length > 1)
            {
                Cv2.Rectangle(srcImg, eyeRects[0], new Scalar(255, 0, 0), 3);
                Cv2.Rectangle(srcImg, eyeRects[1], new Scalar(255, 0, 0), 3);
            }
            //显示结果
            Cv2.ImShow("showImg", srcImg);
            Cv2.WaitKey(1);

对摄像头的画面或者本地视频画面进行人脸识别:

            //读取本地的视频
            FrameSource video = Cv2.CreateFrameSource_Video("D:\\素材\\aaaa.mp4");

            //使用摄像头
            //FrameSource video = Cv2.CreateFrameSource_Camera(1);

            //声明窗口
            Cv2.NamedWindow("video", WindowFlags.Normal);
            while (true)
            {
                //获取帧
                Mat frame = new Mat();
                video.NextFrame(frame);
                //加载人眼、人脸模型数据
                OpenCvSharp.CascadeClassifier faceFinder = new CascadeClassifier(@"G:\baiduDownload\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml");
                OpenCvSharp.CascadeClassifier eyeFinder = new CascadeClassifier(@"G:\baiduDownload\opencv\sources\data\haarcascades\haarcascade_eye_tree_eyeglasses.xml");
                //进行检测识别
                Rect[] faceRects = faceFinder.DetectMultiScale(frame);
                Rect[] eyeRects = eyeFinder.DetectMultiScale(frame);
                //如果有检测到,就绘制结果到图像上
                if (faceRects.Length > 0)
                {
                    Cv2.Rectangle(frame, faceRects[0], new Scalar(0, 0, 255), 3);
                }
                if (eyeRects.Length > 1)
                {
                    Cv2.Rectangle(frame, eyeRects[0], new Scalar(255, 0, 0), 3);
                    Cv2.Rectangle(frame, eyeRects[1], new Scalar(255, 0, 0), 3);
                }
                //显示结果
                Cv2.ImShow("video", frame);
                Cv2.WaitKey(1);
            }

相关推荐

  1. opencv实现视频人脸识别

    2024-07-10 08:20:04       44 阅读
  2. 对视频实现人脸识别

    2024-07-10 08:20:04       40 阅读
  3. 人脸识别、Python实现】PyQt5人脸识别管理系统

    2024-07-10 08:20:04       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 08:20:04       99 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 08:20:04       107 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 08:20:04       90 阅读
  4. Python语言-面向对象

    2024-07-10 08:20:04       98 阅读

热门阅读

  1. postman工具介绍

    2024-07-10 08:20:04       26 阅读
  2. vue-路由自动化

    2024-07-10 08:20:04       21 阅读
  3. el-date-picker 扩展

    2024-07-10 08:20:04       26 阅读
  4. Go语言入门之变量、常量、指针以及数据类型

    2024-07-10 08:20:04       22 阅读
  5. Kotlin 处理livedata数据倒灌

    2024-07-10 08:20:04       25 阅读
  6. 针对vue3的render函数添加自定义指令

    2024-07-10 08:20:04       28 阅读
  7. Kotlin中的关键字

    2024-07-10 08:20:04       28 阅读
  8. Matlab 使用

    2024-07-10 08:20:04       29 阅读
  9. AI学习指南机器学习篇-层次聚类原理

    2024-07-10 08:20:04       31 阅读
  10. k8s-第一节-minikube

    2024-07-10 08:20:04       27 阅读
  11. 基于gunicorn+flask+docker模型高并发部署

    2024-07-10 08:20:04       32 阅读
  12. 数据无忧:Ubuntu 系统迁移备份全指南

    2024-07-10 08:20:04       32 阅读
  13. 3.配置MkDocs

    2024-07-10 08:20:04       33 阅读
  14. AI学习指南机器学习篇-层次聚类距离度量方法

    2024-07-10 08:20:04       27 阅读