人脸识别.rar
前段时间因项目中有用到人脸识别,折腾了好久才解决了问题。现将简单的人脸识别功能分享出来,供大家研究。
是基于OpenCVSharp写的人脸识别功能,启用电脑自带的摄像头,识别到人脸图片,并以视频的形式显示到界面上。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11264 2019-08-26 14:09 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.exe
文件 22016 2019-08-26 14:09 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.pdb
文件 22472 2019-08-26 14:08 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.vshost.exe
文件 490 2015-07-10 19:01 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.vshost.exe.manifest
文件 341406 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_eye.xml
文件 601661 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_eye_tree_eyeglasses.xml
文件 411388 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalcatface.xml
文件 382918 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalcatface_extended.xml
文件 676709 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_alt.xml
文件 540616 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_alt2.xml
文件 2689040 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_alt_tree.xml
文件 930127 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_default.xml
文件 476827 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_fullbody.xml
文件 195369 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_lefteye_2splits.xml
文件 47775 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_licence_plate_rus_16stages.xml
文件 395322 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_lowerbody.xml
文件 828514 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_profileface.xml
文件 196170 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_righteye_2splits.xml
文件 75482 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_russian_plate_number.xml
文件 188506 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_smile.xml
文件 785819 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_upperbody.xml
文件 39424 2019-04-17 08:52 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.Blob.dll
文件 824832 2019-04-17 08:44 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.dll
文件 25088 2019-04-17 08:52 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.Extensions.dll
文件 12800 2019-04-17 08:52 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.UserInterface.dll
文件 60494848 2019-04-17 08:43 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharpExtern.dll
文件 4809 2019-08-26 13:14 FaceDetectFaceDetectFaceDetectFaceDetect.csproj
文件 4137 2019-08-26 14:09 FaceDetectFaceDetectFaceDetectForm1.cs
文件 3608 2019-08-26 13:30 FaceDetectFaceDetectFaceDetectForm1.Designer.cs
文件 5817 2019-08-26 13:30 FaceDetectFaceDetectFaceDetectForm1.resx
............此处省略29个文件信息
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using OpenCvSharp.Extensions;
namespace FaceDetect
{
public partial class Form1 : Form
{
private VideoCapture myVideoCapture = null;
private Thread myThread;
private bool isOpenCamera = false;
private bool isFaceDetect = false;
public Form1()
{
InitializeComponent();
}
private void btnOpen_Click(object sender EventArgs e)
{
if (!isOpenCamera)
{
myVideoCapture = new VideoCapture(CaptureDevice.Any);
if (!myVideoCapture.IsOpened())
{
MessageBox.Show(“摄像头打不开“ “故障“ MessageBoxButtons.OK MessageBoxIcon.Error);
return;
}
myVideoCapture.Set(CaptureProperty.frameWidth 450);//宽度
myVideoCapture.Set(CaptureProperty.frameHeight 360);//高度
isOpenCamera = true;
myThread = new Thread(playVideo);
myThread.Start();
btnOpen.Text = “关闭摄像头“;
}
else
{
picCamera.Image = null;
btnOpen.Text = “开启摄像头“;
isOpenCamera = false;
myThread.Abort();
myVideoCapture.Release();
}
}
private void btnFaceDetect_Click(object sender EventArgs e)
{
isFaceDetect = true;
}
private void playVideo()
{
while (true)
{
Mat myframe = new Mat();
myVideoCapture.Read(myframe);
int sleepTime = (int)Math.Round(1000 / myVideoCapture.Fps);
Cv2.WaitKey(sleepTime);
if (myframe.Empty())
{
continue;
}
Cv2.Flip(myframe myframe OpenCvSharp.FlipMode.Y);
Rect myRect = new Rect(0 0 450 360);
Mat newframe = new Mat(myframe myRect);
if (isFaceDetect)
{
faceDetect(newframe);
}
else
{
picCamera.Image = newframe.ToBitmap();
}
myframe.Release();
}
}
private void faceDetect(Mat src)
{
Mat grayImage = new Mat();
Cv2.CvtColor(src grayImage ColorConversionCodes.BGR2GRAY);
Cv2.EqualizeHist(grayImage grayImage);
CascadeClassifier cascade = new CascadeClassifier(@“haarcascadeshaarcascade_frontalface_alt.xml“);
Rect[] faces = cascade.Dete
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11264 2019-08-26 14:09 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.exe
文件 22016 2019-08-26 14:09 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.pdb
文件 22472 2019-08-26 14:08 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.vshost.exe
文件 490 2015-07-10 19:01 FaceDetectFaceDetectFaceDetectinDebugFaceDetect.vshost.exe.manifest
文件 341406 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_eye.xm
文件 601661 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_eye_tree_eyeglasses.xm
文件 411388 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalcatface.xm
文件 382918 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalcatface_extended.xm
文件 676709 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_alt.xm
文件 540616 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_alt2.xm
文件 2689040 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_alt_tree.xm
文件 930127 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_frontalface_default.xm
文件 476827 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_fullbody.xm
文件 195369 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_lefteye_2splits.xm
文件 47775 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_licence_plate_rus_16stages.xm
文件 395322 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_lowerbody.xm
文件 828514 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_profileface.xm
文件 196170 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_righteye_2splits.xm
文件 75482 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_russian_plate_number.xm
文件 188506 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_smile.xm
文件 785819 2019-08-24 15:45 FaceDetectFaceDetectFaceDetectinDebughaarcascadeshaarcascade_upperbody.xm
文件 39424 2019-04-17 08:52 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.Blob.dll
文件 824832 2019-04-17 08:44 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.dll
文件 25088 2019-04-17 08:52 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.Extensions.dll
文件 12800 2019-04-17 08:52 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharp.UserInterface.dll
文件 60494848 2019-04-17 08:43 FaceDetectFaceDetectFaceDetectinDebugOpenCvSharpExtern.dll
文件 4809 2019-08-26 13:14 FaceDetectFaceDetectFaceDetectFaceDetect.csproj
文件 4137 2019-08-26 14:09 FaceDetectFaceDetectFaceDetectForm1.cs
文件 3608 2019-08-26 13:30 FaceDetectFaceDetectFaceDetectForm1.Designer.cs
文件 5817 2019-08-26 13:30 FaceDetectFaceDetectFaceDetectForm1.resx
............此处省略29个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)