天天看点

c# winform 悬浮窗的效果_C# 人脸识别库

(给DotNet加星标,提升.Net技能)

转自:View12138 cnblogs.com/view12138/p/ViewFaceCore.html

.NET人脸识别库ViewFaceCore

这是基于SeetaFace6 人脸识别开发的.NET 平台下的人脸识别库

这是一个使用超简单的人脸识别库

这是一个基于.NET Standard 2.0 开发的库

这个库已经发布到 NuGet ,你可以一键集成到你的项目

此项目可以免费商业使用

开源

  • 开源协议:Apache-2.0
  • GitHub地址:https://github.com/View12138/ViewFaceCore

一、示例

示例项目地址:WinForm 摄像头人脸检测

示例项目效果:

c# winform 悬浮窗的效果_C# 人脸识别库

二、使用

一分钟在你的项目里集成人脸识别

1、创建你的 .NET 应用

.NET Standard >= 2.0

.NET Core >= 2.0

.NET Framework >= 4.6.1^2

2、使用 Nuget 安装 ViewFaceCore

Author : View

Version >= 0.1.1

此 Nuget 包会自动添加依赖的 C++ 库,以及最精简的识别模型。

如果需要其它场景的识别模型,请下载SeetaFace6 模型文件

3、在项目中编写你的代码

  • 按照 说明 自己编写
  • 或者参考以下代码

简单的调用示例

三、说明

命名空间:ViewFaceCore.Sharp : 人脸识别类所在的命名空间

属性说明:

c# winform 悬浮窗的效果_C# 人脸识别库

方法说明:

using System.Drawing;
           

四、实现

此项目受到了 SeetaFaceEngine.NET项目的启发

https://github.com/iarray/SeetaFaceEngine.Net

这个项目本质上来说还是调用了 SeetaFace 的 C++ 类库来实现的人脸识别功能。针对本人遇到过的相关的类库的使用都不太方便,而且使用的 SeetaFace 的版本较老,故萌生了自己重新开发的想法。

本项目在开发完成之后为了方便调用,采用了 Nuget 包的形式,将所有需要的依赖以及最小识别模型一起打包。在使用时非常简单,只需要 nuget 安装,编写代码,运行即可,不需要多余的操作。

首先查看 SeetaFace ,已经更新到了v3(v6即v3)(上面前辈的项目是基于v1开发的),最新版本暂时没有开源,但是可以免费商用。然后是根据以前的经验和 SeetaFace6 文档的指导,以及前辈的项目,做了以下操作。

1、对SeetaFace6 的接口进行了 C++ 形式的封装

目前主要实现了 人脸检测,关键点提取,特征值提取,特征值对比几个人脸识别中的基础接口。有了这几个接口,可以完整的实现一套人脸识别和验证的流程。

2、采用 C# 对上诉接口进行了导入

因为C++的项目测CPU架构区分x86和x64,所以C# 层也需要区分架构封装

3、采用 C# 的面向对象的封装

因为C#的项目默认都是 AnyCPU,所以为了简化调用,在这一层封装的时候增加了架构判断,当在你的项目中引用的时候,不用做任何修改。

且因为C++的C#导入方法在和原生的C#写法略有差异,且数据的转换和传递比较麻烦,所以类库中对外隐藏了 C# 导入层。并使用大家都更熟悉的C#的面向对象的方式进行进一步的封装和简化。

五、最后

此项目还未实现 SeetaFace6 中的许多特性,也许:

  • 想起 GitHub 密码,持续更新…
  • 删除代码仓库跑路…

如果在使用过程中遇到问题,你也许可以:

  • 在 GitHub 报告Bug…
  • 向我发送邮件[email protected]

- EOF -

c# winform 悬浮窗的效果_C# 人脸识别库

推荐阅读   点击标题可跳转

.NET 关于人脸识别引擎分享

C#30分钟完成百度人脸识别

C#离线人脸识别使用ArcFace 2.0开发

看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

c# winform 悬浮窗的效果_C# 人脸识别库

好文章,我在看❤️