C# 视频多人脸识别的实现过程

时间:2021-09-25 08:29:26

整个项目是用虹软技术完成开发

上一篇内容的调整,提交到git了,https://github.com/catzhou2002/ArcFaceDemo

基本思路如下:

一、识别线程

1.获取当前图片

2.识别当前图片的人脸位置,并将结果存入列表

3.分别获取人脸的特征值并比对,并将结果存入列表

4.如果需要注册,则将需要注册的人脸特征值存入列表

二、显示线程

将当前列表的内容画到视频控件,着重说一下图片的缩放。

视频源图片的大小是1280*720

显示控件的大小是:640*480

在视频源图片的人脸矩形为:Left:100,Top:100,Width:200,Height:200

自力更生的做法是将矩形的Left和Width都乘以640/1280,Top和Height都乘以480/720,每次都折腾,很烦躁,找到解决的办法是:

Graphics.ScaleTransform( 640F/1280,480F/720);

三、鼠标变换

鼠标移动时如在人脸位置则鼠标变换成Cursors.Hand

配张图:
C# 视频多人脸识别的实现过程